《微型计算机原理与接口技术》第二版问题详解张荣标

发布时间 : 星期四 文章《微型计算机原理与接口技术》第二版问题详解张荣标更新完毕开始阅读

文档

第五章 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

联系合同范文客服:xxxxx#qq.com(#替换为@)