微型计算机原理与应用 - 第四版 - 课后答案 - (郑学坚 - 朱定华) 下载本文

.. . . ..

SHL AX,CL AND BL,0FH AND DH,0F0H SHR DH,CL SHL BL,CL OR AL,DH OR AL,BL

(2)将CX中间8位取反,其余位不变

XOR CX,0FF0H

(3)将数据段以BX为偏移地址的连续3单元中的无符号数求和。

MOV CX,3 MOV AL,0 LAB:ADD AL,[BX]

ADC AH,00H;(注意字节单元的和可能超过一个字节,故这里和扩展至AH)

INC BX LOOP LAB

(4) 将数据段中以BX为偏移地址的连续4单元中的内容颠倒过来

MOV CX,2 ;(4/2单元个数除2,循环计数) MOV SI,BX

ADD SI,3 ;(指向最后一个数据单元,首地址+单元个数-1) LAB:MOV AL,[BX]

. 学习帮手 .

.. . . ..

XCHG AL,[SI] MOV [BX],AL INC BX DEC SI LOOP LAB

(5) 将BX中的4位压缩BCD数用非压缩数形式按序放在AL,BL,CL和DL中 MOV CL,4 (注意先后次序,不能用其它寄存器) MOV DL,BL AND DL,0FH MOV AL,BH SHR AL,CL XCHG BH,BL AND BL,0FH SHR BH,CL MOV CL,BH (6)

不用乘法指令实现AL(无符号数)乘以20 AL*(24+22)( 24左移4位,22左移2位) MOV AH,0

MOV CL,2

SAL AX,CL ;进行乘4操作 MOV BX,AX ;保留乘4中间结果 SAL AX,CL;再移2次,相当于乘16

. 学习帮手 .

.. . . ..

ADD AX,BX

7.10 一段数据定义为:

DATA SEGMENT S1 DB 0,1,2,3,4,5 S2 DB ‘12345’ COUNT=$-S1 NB DB 3DUP(2) NW DW 120,-256 P DW -1 DATA ENDS

(1)画出该数据段数据存储形式(注意:符号常量COUNT不分配存储单元)

地址 S1 -0000H 0001H 0002H 0003H 0004H 0005H S2 -0006H 0007H 0008H 内容 00H 01H 02H 03H 04H 05H 31H 32H 33H . 学习帮手 .

.. . . ..

0009H 000AH NB -000BH 000CH 000DH NW -000EH 000FH 0010H 0011H P -0012H 0013H

34H 35H 02H 02H 02H 78H 00H AAH FDH FFH FFH (2)在下表中填写各变量的偏移地址和各变量的值 变量名 S1 S2 NB

. 学习帮手 .

偏移地址 0000H 0006H 000BH 变量值 00H 31H 02H 变量名 NW P 偏移地址 000EH 0012H 变量值 0078H FFFFH