微机原理及应用(陈继红、徐晨)课后习题答案
mov dl,0ah mov ah,02h int 21h mov dl,0dh int 21h
lea dx,message3 mov ah,09h int 21h pop ax
cmp al,'z' ;比较,判断是否小写字母 ja error1 cmp al,'a'
jb error1 ;大写字母重新输入 sub al,20H ;减
20H转换为大写字母 mov dl,al mov ah,02h int 21h
mov ax,4c00h int 21h code ends end start
4.15 键盘输入十个学生的成绩,试编制一个程序统计 69~69分, 70~79分, 80~89分, 90~99分及
100分的人数,分别存放到 S6,S7,S8,S9及 S10单元中。 解答程序为:
DATA SEGMENT BUF DB 10 DUP(?) S6 DB ? S7 DB ? S8 DB ?
S9 DB ? S10 DB ? DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX
MOV SI,OFFSET S6 XOR AL,AL
MOV CX,0504H CONT: MOV [SI],AL INC SI
LOOP CONT MOV CX,10
MOV SI,OFFSET BUF CONT1: MOV AH,1 INT 21H SHL AL,CL MOV BL,AL MOV AH,1 INT 21H SUB AL,30H OR AL,BL MOV [SI],AL CMP AL,70H JAE NEXT1
INC BYTE PTR S6 14
微机原理及应用(陈继红、徐晨)课后习题答案
NEXT1: CMP AL,80H JAE NEXT2
INC BYTE PTR S7 NEXT2: CMP AL,90H JAE NEXT3
INC BYTE PTR S8 NEXT3: CMP AL,99H JA NEXT4
INC BYTE PTR S9 JMP NEXT5
NEXT4: INC BYTE PTR S10 NEXT5: INC SI LOOP CONT1 MOV AH,4CH INT 21H CODE ENDS END START
4.17 在有序表“11,22,33,44,55,66,77,88,99,00”中查找 44。若找到置 find为其在表中 的位置;未找到,find置0。
4.18 分别实现满足下面要求的宏定义:
(1)可对任一寄存器实现任意次数的左移操作。 (2)任意两个单元中的数据相加存入第三个单元中。 (3)将任意一个8位寄存器中的压缩BCD码转为两个ASCI II码,并在屏幕上显示。
(2)宏定义的代码段如下: ADDM MACRO M1,M2,M3 MOV AX,[M1] ADD AX,[M2] MOV [M3],AX ENDM 15
微机原理及应用(陈继红、徐晨)课后习题答案
第五章
8086系统时序和微机总线习题答案(部分)
5.1 什么是时钟周期、总线周期、指令周期?
答:8086CPU执行一条指令是由取指令、译码和执行等操作组成的,为了使 8086CPU
的各种操作协调同步进行,8086CPU必须在时钟信号 CLK 控制下工作,