微机原理课后习题参考答案

内容发布更新时间 : 2025/4/14 16:12:52星期一 下面是文章的全部内容请认真阅读。

03H 00H 05H 03H 00H 05H 03H 00H 05H

12、定义数据段如下,画出数据存储示意图,并说明变量X1和X2所对应的逻辑地址各是多少?

DATA SEGMENT AT 10A0H ORG 0010H X1 DB 22,33, ORG $+ 0020H

X2 DB ‘AB12CD’ DATA ENDS

10A00H

. . . 10A10H 16H

21H

10A32H 41H 42H

31H

32H

43H

44H

X1逻辑地址:10A0H:0010H X2的逻辑地址:10A0H:0032H 13、定义数据段如下,写出执行以下指令后的结果。 DATA SEGMENT

DA1 DW 2437H ,14A2H DA2 DB ‘ABCD’

DA3 DD 10 DUP (?) DATA ENDS

(1)MOV BX,DA1 ;(BX)=2437H (2)MOV SI,OFFSET DA1 ;(SI)=0000H (3)MOV AL, TYPE DA1 ;(AL)=2 (4)MOV AL,[DA2+02H] ;(AL)=‘C’=43H (5)MOV AL,LENGTH DA3;(AL)=10 (6)MOV AL,SIZE DA3;(AL)=10 14、程序中数据段定义的数据如下: DATA SEGMENT

NAMES DB‘GOOD MORNING!’ DW 2050H,78H,3080H DATA ENDS

请指出下列指令序列执行后累加器中的结果是多少? (1) MOV BX,OFFSET NAMES

MOV AL,[BX+03H]

(2) MOV BX,12

MOV SI,3

MOV AX,NAMES[BX+SI]

(3) MOV BX,12

MOV SI,3

LEA AX,NAMES[BX+SI]

答:(1)[BX+03H]对应的是“D”因此结果是 44H (2)78H

(3)LEA 将源操作数的逻辑地址送到目标操作数,因此 0FH

18、编写程序,将MBUF为起始单元的5个数按相反次序传送到NBUF开始的存储单元中。 答:DATA SEGMENT

MBUF DB 1,2,3,4,5 COUNT EQU $-MBUF NBUF DB 5 DUP(?) DATA ENDS

STACK SEGMENT PARA STACK DB 20H DUP(?) STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,SS:STACK,DS:DATA START: MOV AX,DATA MOV DS,AX

MOV BX,OFFSET MBUF MOV CX,5 LOP1: PUSH [BX] INC BX

DEC CX JNZ LOP1

MOV BX,OFFSET NBUF MOV CX,5 LOP2:POP [BX] INC BX DEC CX JNZ LOP2 MOV AX,4CH INT 21H CODE ENDS END START

2

>>展开全文<<
12@gma联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4 ceshi