发布时间 : 星期四 文章《微型计算机原理与接口技术》第二版问题详解张荣标更新完毕开始阅读
文档
第五章 5.8练习题
4、试编写一汇编程序,要现将ASCII码表示的两位十进制数转换为一字节二进制数。
DATA SEGMENT
ASC DB 36H,35H
ASCEND DB ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
DECIBIN PROC FAR
MOV AX,DATA
MOV DS,AX
MOV BX,OFFSET ASC
MOV AL,[BX]
CMP AL,30H
JL EXIT
CMP AL,39H
JG EXIT
SUB AL,30H
文档
MOV DL,[BX+1]
CMP DL,30H
JL EXIT
CMP DL,39H
JG EXIT
SUB DL,30H
MOV CL,10
MUL CL
ADD AL,DL
MOV ASCEND,AL
EXIT: MOV AH,4CH
INT 21H
DECIBIN ENDP
CODE ENDS
END DECIBIN
5.某存储区中存有20个单字节数,试编写一汇编语言分别求出其绝对值并放回原处。
DSEG SEGMENT
MUM DB 1,2,3,-9,0,7,5,-4,-7,-11,34,-67,-44,-51,1,3,6,8,9,3
DSEG ENDS
CSEG SEGMENT
文档
ASSUME CS:CSEG, DS:DSEG
START PROC FAR
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DSEG
MOV DS,AX
MOV CX,20
MOV SI,OFFSET MUM
LP1: MOV AL,[SI]
AND AL,AL
JNS DONE
NEG AL
DONE: MOV [SI],AL
INC SI
LOOP LP1
MOV AH,4CH
INT 21H
START ENDP
CSEG ENDS
END START
6、试编写一汇编程序,将AX中的各位取反,然后统计出AX中“0”的个数,将结果保存到CL中。
文档
CODE SEGMENT
MAIN PROC FAR
ASSUME CS:CODE
START:
MOV AX,0E001H
MOV DL,0
MOV CL,16
NOT AX
RETEST: AND AX,AX
JS SKIP
INC DL
SKIP: SHL AX,1
LOOP RETEST
MOV CL,DL
EXIT: MOV AH,4CH
INT 21H
MAIN ENDP
CODE ENDS
END START
12 已知a1~a20依次存放在以BUF为首址的数据区,每个数据占两个字节,SUM也是两个字节。试编程计算SUM=a1+a2+a3+...+a20