微机原理实验答案汇总
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.题目:编程将(AX)=2387、(BX)=192FH、(CX)=9256中的无符号数按由大到小排序,上机编程调试出程序,并将程序及排序结果记录在下面。
CODE SEGMENT
ASSUME CS:CODE
START:
MOV AX,2387
MOV BX,192FH
MOV CX,9256
CMP AX,BX
JAE NEXT1
XCHG AX,BX
NEXT1:
CMP AX,CX
JAE NEXT2
XCHG AX,CX
NEXT2:
CMP BX,CX
JAE NEXT3
XCHG BX,CX
NEXT3:
MOV AH,4CH
INT 21H
CODE ENDS
END START
2.题目:编程将(BX)=8600H、(CX)=3489H、(DX)=9235按有符号数由大到小排序,上机编程调试出程序,并将程序及排序结果记录在下面。
;CODE SEGMENT
ASSUME CS:CODE
START:
MOV BX,8600h
MOV CX,3489H
MOV DX,9235
CMP BX,CX
JGE NEXT1
XCHG BX,CX
NEXT1:
CMP BX,DX
JGE NEXT2
XCHG BX,DX
NEXT2:
CMP CX,DX
JGE NEXT3
XCHG CX,DX
NEXT3:
MOV AH,4CH
INT 21H
CODE ENDS
END START
3.题目:在数据段中定义如下数据:32,34,89H,,编程将以上数据按有符号数进行排序,并将程序和结果记录下来。
DATA SEGMENT
NUM DB 32,34,89H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DAT
START:
MOV AX,DATA
MOV DS,AX ;初始化DS
LEA BX,NUM ;取有效地址到BX,以便访问要排序的数
MOV AL,[BX]
CMP AL,[BX+1]
JGE NEXT1 ;若第一个数大则跳转,否则将第一个与第二个数交换
XCHG AL,[BX+1]
MOV [BX],AL
NEXT1:
CMP AL,[BX+2]
JGE NEXT2;若第一个数大则跳转,否则将第一个与第三个数交换
XCHG AL,[BX+2]
MOV [BX],AL
NEXT2:
MOV AL,[BX+1];将第二个和第三个数比较
CMP AL,[BX+2]
JGE NEXT3;若第二个数大则跳转,否则将第二个与第三个数交换
XCHG AL,[BX+2]
MOV [BX+1],AL
NEXT3:
MOV AH,4CH
INT 21H
CODE ENDS
END START
4.题目:在数据段中定义如下数据:99,25,86,编程将以上数据按无符号数进行排序,上机调试出程序,并将程序和结果记录下来。
data segment
num db 99h,25h,86h
data ends
code segment
assume cs:code,ds:data
start:mov ax,data
mov ds,ax
lea bx,num
mov al,[bx]
cmp al,[bx+1]
jae next1
xchg al,[bx+1]
mov [bx],al
next1:cmp al,[bx+2]
jae next2
xchg al,[bx+2]
mov[bx],al
next2:mov al,[bx+1]
cmp al,[bx+2]
jae next3
xchg al,[bx+2]
mov [bx+1],al
next3: mov ah,4ch
int 21h
code ends
end start
5.题目:(AL)=86H,(AH)=34H,(BL)=78H,编程将以上数据按有符号数进行排序,上机调试出程序,并将程序和结果记录下来。
code segment
assume cs:code
start: mov al,86h
mov ah,34h
mov bl,78h
cmp al,ah
jae next1
xchg al,ah
next1: cmp al,bl
jae next2
xchg al,bl
next2: cmp ah,bl
jae next3
xchg ah,bl
next3: mov ah,4ch
int 21h
code ends
end start
6.题目:中断向量为:1234:5678H,编程将此中断向量写入类型0所在的中断向量表,上机调试出程序,并将程序和结果记录下来。(直接用MOV 指令写入即可)
code segment
assume cs:code,ds:code