微机原理试题

更新时间:2024-04-18 21:19:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1.用ASSUME伪指令指定某个段分配给某个段寄存器后,还需通过MOV指令来给段寄存器赋值,其中( C )不能这样做,而是在程序初始化时自动完成的。 A.数据段寄存器DS B.堆栈段寄存器SS C.代码段寄存器CS D.附加段寄存器ES 2.( A )不是变量的类型属性

A.字符型 B.字型 C.字节型 D.双字型 3.下列哪一个伪指令对符号名可以重复定义( A ) A.= B. EQU C.DB D.PTR

4.将下列左边各项与右边的名词对应起来,找出正确答案的序号填入括号内。 (1)使计算机执行某种操作的命令(D ) (2)表示指令执行什么操作的符号( E ) (3)存放指令机器码的存储器段区( A ) (4)指出指令在程序中位置的符号( B )

(5)将汇编语言源程序翻译成机器码程序的实用程序( C )

A.代码段 B. 标号 C. 汇编程序 D. 指令 E. 助记符 5.下面指令序列执行后完成的运算,正确的算术表达式是( C ) MOV AL,BYTE PTR X SHL AL,1 DEC AL

MOV BYTE PTR Y,AL

A.Y=2X+1 B. X=2Y+1 C. Y=2X-1 D.X=2Y-1 6. 对于无符号数,实现“>=”转移的指令是( A )

A.JAE/JNB B. JBE/JNA C. JGE/JNL D. JC/JNLE

7. 在程序设计的实际应用中往往存在要重复执行的某些操作的一类问题,这类问题由( C )来解决。

A. 顺序结构程序 B. 分支结构程序 C. 循环结构程序 D.以上都不是 8. ( A )不是子程序的参数传递方法。

A.立即数传递 B. 寄存器传递 C.堆栈传递 D. 存储器传递

9. DOS系统功能调用中,将子功能编号送入( A )寄存器。 A. AH B. AL C. BH D. BL

10. 读取键盘字符并回显是DOS系统功能调用的( B )号调用。 A.0AH B. 01H C. 02H D. 09H 11.求下列数的补码或真值 (1)χ= +127D,[χ]补 =? (2)χ= -127D,[χ]补 =? (3)[χ]补 =0111 1110B,χ=? (4)[χ]补 =1000 0010B,χ=? 答案:(1)0111 1111B (2)1000 0001B (3)χ= +126D (4)χ= -126D

12. 已知x= +51D,y= -66D,用补码运算求x+y,x-y的值。

13. [x1]原 =1100 1010B,[x2]反 =1100 1010B,[x3]补 =1100 1010B,那么它们的关系是( B ) A. x3>x1>x2 B. x2>x3>x1

C. x3>x2>x1 D. x2>x1>x3

14. [x1]原 =1011 1101B,[x2]反 =1011 1101B,[x3]补 =1011 1101B,则( C ) A. x1最小 B. x2最小 C. x3最小 D. x2=x1=x3

15. 若某机器数为1000 0000B,它代表-127D,则它是( C ) A.补码 B. 原码 C.反码 D.原码或反码

16.计算机的内存“溢出”是指其运算结果( C ) A.为无穷大

B.超出了计算机内存储单元所能存储的数值范围

C.超出了该指令所指定的结果单元所能存储的数值范围 D.超出了一个字所能表示数的范围

16. 二进制数 10010110.10B 的十进制数值可表示为 ( B ) A、 96.8 B、 150.5 C、 96.5 D、 160.5 17.RAM 6116芯片有2K×8位的容量,它的片内地址选择线和数据线分别是( B ) A、A0~A15和D0~D15 B、A0~A10和D0~D7 C、A0~A11和D0~D7 D、A0~A11和D0~D15 18.8086 CPU在响应中断时顺序将( C )内容压入堆栈。 A、CS.IP.PSW B、IP.CS.PSW C、PSW.CS.IP D、PSW.IP.CS

19.8086能够访问的存储空间的大小是( B )。 A. 64k B.1M C. 256 D.16M 20.相邻段地址之间的最小距离为( A )

A、16个字节 B、64K字节 C、1K字节 D、256字节 21.8086 CPU在( C )时刻采样READY信号决定是否插入等待周期。 A、T1 B、T2 C、T3 D、T4 22.保护断点就是保存( C )。

A.中断类型码 B.中断服务程序入口地址 C.现场 D.当前CS 、IP的值

23.如果TABLE为数据段中0020H单元的符号名,在该单元中存放着3412H,请指出以下两条指令有什么区别?每条指令执行后AX寄存器中的内容是多少? MOV AX,TABLE LEA AX,TABLE

24. 某以8088为CPU的微型计算机内存RAM区为00000H~3FFFFH,若采用6264(8KX8)、 62256(32KX8)、2164(8KX4)、21256(32KX4)各需要多少芯片?其各自的片内和片选地址线分别是多少(全地址译码方式)?

解:需要32片6264,片内地址线:A0~A12,片选地址线:A13~A19

需要8片62256,片内地址线:A0~A14,片选地址线:A15~A19 需要64片2164,片内地址线:A0~A12,片选地址线:A13~A19 需要16片21256,片内地址线:A0~A14,片选地址线:A15~A19 25. 试将左边的标志和右边的功能联系起来

1.SF ( 5 )A. 单步标志 2.CF ( 1 )B. 符号标志 3.AF ( 6 )C. 溢出标志

4.DF ( 2 )D. 进位标志 5.TF ( 9 )E. 零标志 6.OF ( 7 )F. 奇偶标志 7.PF ( 8 )G. 中断标志 8.IF ( 3 )H. 辅助进位标志 9.ZF ( 4 )I. 方向标志

26. 有一个由20个字组成的数据区,其起始地址为610AH:1CE7H。试写出该数据区首末字单元的实际地址PA。

解:首单元:PA=610AH×10H+1CE7H=62D87H 末单元:PA=610AH×10H+1CE7H+26H=62DADH

27.若一个程序段开始执行之前,(CS)=97F0H,(IP)=1B40H,试问该程序段启动执行指令的实际地址是多少?

解:PA=(CS)×10H+(IP)=97F0H×10H+1B40H=99A40H

28.若堆栈段寄存器(SS)=3A50H,堆栈指针(SP)=1500H,试问这时堆栈栈顶的实际地址。 解:PA=(SS)×10H+(SP)=3A50H×10H+1500H=3BA00H

29.有两个16位的字31DAH,5E7FH,它们在8086系统存储器中的地址分别为00130H和00134H,试画出它们的存储示意图。

30.有一个32位的地址指针67ABH:2D34H存放在从00230H开始的存储器中,试画出它们的存放示意图。

34H 解:

2DH

ABH

67H

31、 123.8125D=(1111011.1101)B=( 7B.D)H

32、 01100010.101B=( 62.A )H=( 98.625 )D=( 10011000.011000100101 )BCD 33、 [-0111010B]原=(10111010) [-0111010B]反=(11000101) [-0111010B]补=(11000110)

34、 计算机由(运算器)、(存储器)、(控制器)、I/O设备、I/O接口这五大部分组成,各部分之间通过总线相连,总线包括(数据)总线、(地址)总线、(控制)总线 35、CPU寻址内存的能力最基本的因素取决于(地址总线的条数)

36、8086CPU中,若(DS)=6100H,则当前数据段的起始地址是(61000H) 37、145.75D=( 10010001.11)B=( 91.C)H=( 000101000101.01110101)BCD

38、8086/8088有两种工作方式,当MN/MX接高电压时,系统工作于(最小模式),当MN/MX接地时,系统工作于(最大模式)。

39、设X= -1010001, 则[X]原=(11010001)[X]反=(10101110)[X]补=(10101111) 40、假设(SP)=0100H,(SS)=6000H,执行POP AX指令后,栈顶的物理地址为(60102H) 41、8位二进制补码11011101所表示的十进制数为(-35)

42、某CPU地址线为24根,则其决定的最大内存容量为(16MB)

43、若TAB为数据段中0032H单元的符号名,其中存放的内容为1234H,则执行① MOV AX,TAB指令和②LEA AX,TAB指令后,相应AX中的内容①为(1234H),②为(0032H)

44、在CPU读写存储器的过程中,若CPU和存储器速度不匹配,我们常用CPU上的(READY) 引脚信号来插入等待状态,而正常的总线周期为(4个)时钟周期。 45、设(CX)=5304H,执行ROL CH,CL后,(CH)=(35H)

46、计算机系统中的三总线通常是指(地址总线)、(数据总线)、(控制总线)。 47、若A=+63,B= -107,按8位二进制表示

[A]补= 00111111 [B]补= 10010101 [A+B]补= 11010100 [A-B]补= 10101010

48、如果在一个程序段开始执行之前,(CS)=3000H,(IP)=0200H,则该程序段的第一个

字的物理地址为(30200H)

49.8086/8088 CPU由(执行单元EU)和(总线接口单元BIU)两部分组成。 50.已知逻辑地址为2000H:3500H,则所对应的物理地址为( A ) (A)23500H (B)20000H (C)35000H (D)55000H

51.CPU取指令时总是以( A )为段基址,以( A )为段内偏移地址 (A)CS、IP (B)DS、IP (C)CS、BP (D)DS、BP 52.PF=1,表示逻辑运算结果( C )

(A)“1”的个数为偶数 (B)“1”的个数为奇数

(C)低8位中“1”的个数为偶数(D)低8位中“1”的个数为奇数

53.采用6264芯片(8K×8)构成存储器系统,要求内存地址从40000H~9FFFFH,则共需( C )片6264。

(A)40片(B)44片(C)48片(D)52片

54.用户自己购买内存条进行内存扩充,是在进行何种存储器扩展?(B) (A)位扩展(B)字扩展(C)字位扩展(D)字长扩展

55.已知逻辑地址为4000H:0500H,则所对应的物理地址为( A ) (A)40500H (B)40000H (C)45000H (D)05000H 56.已知(BL)=12H,执行TEST BL,11H后,(BL)=(B ) (A)10H (B)12H (C)01H (D)11H 57.程序段:MOV AX,0405H MOV BL,06H AAD DIV BL

执行后,(AX)=(B )

(A)0703H (B)0307H (C)030BH (D)0B03H

58.当带符号数a-b的结果使标志位SF=1,OF=0,则表明( C ) (A)a>b (B)a≥ b (C)a<b (D)a≤b 59.宏定义伪操作助记符是( B ) (A)ENDS (B)ENDM (C)ENDP (D)END

60.若8088CPU工作于最小模式,则执行存储器总线写操作时,其外部引脚信号为( B )

(A)IO/M=0,RD=0 (B)IO/M=0,RD=1, WR=0 (C)IO/M=1,RD=1 (D)IO/M=0,RD=0, WR=0

61.主存储器和CPU之间增加高速缓冲存储器的目的是( A )

(A)解决CPU和主存之间的速度匹配问题 (B)扩大主存储器的容量

(C)扩大CPU中通用寄存器的数量

(D)既扩大主存容量又扩大CPU通用寄存器的数量

62.若采用SRAM6264(8K×8)芯片构成内存地址从84000H~97FFFH的内存空间,共需要( B )SRAM6264芯片

(A)12片 (B)10片 (C)8片 (D)6片

63.由512×4RAM组成16K×8的存储容量,需要( C )芯片。

(A)2片 (B)32片 (C)64片 (D)16片

64.和外存储器相比,内存储器的特点是( C )

(A)容量大,速度快,成本低 (B)容量大,速度慢,成本高 (C)容量小,速度快,成本高 (D)容量小,速度快,成本低

65.下列各数不属于8421BCD码的是( A )

(A)10100001B (B)01001001B (C)00110011B (D)01010100B

66.指令MOV AX,[SI][BX],属于( C )寻址方式

(A)寄存器寻址 (B)寄存器间接寻址 (C)基址-变址寻址 (D)基址-变址相对寻址

67.指令MOV [BX],[SI]错误原因为( A )

(A)两存储单元之间不能直接传送 (B)两变址寄存器之间不能直接传送

(C)两操作数类型不一致 (D)源操作数超出范围

68.汇编语句DATA SEGMENT STACK ‘STACK’

DW 100 DUP(0)

DATA ENDS

的含义是(C)

(A)定义100个字节的堆栈段 (B)定义100个字节的数据段 (C)定义200个字节的堆栈段 (D)定义200个字节的数据段

69.溢出是两带符号数 B ,结果超出规定的数值范围。

(A)两同号数相减 (B)两同号数相加 (C)两异号数相加 (D)两数异或

70.已知逻辑地址为2000H:3500H,则所对应的物理地址为 A (A)23500H (B)20000H (C)35000H (D)55000H

71.PF=1,表示逻辑运算结果 C

(A)“1”的个数为偶数 (B)“1”的个数为奇数

(C)低8位中“1”的个数为偶数 (D)低8位中“1”的个数为奇数

72.构成微机的主要部件除CPU、系统总线、I/O接口外,还有 D

(A)CRT (B)键盘 (C)磁盘 (D)内存

73.某存储器可随意读写,掉电后信息会丢失。速度快,不需要刷新,外围电路简单,以上特点描述的是 C

(A)A PROM (B) B DRAM (C) SRAM (D) EPROM

74.执行下列指令后,AX寄存器中的内容是 D

VAR DW 10,15,20,26,30 SIR DW 5 ………… LEA BX,VAR ADD BX, SIR MOV AX,[BX]

(A)0014H (B)1400H (C)001AH (D)1A00H

75.已知X和Y的真值,求[X+Y]补。

X=-0111001B,Y=+1001101B 解:X= -0111001B,Y=+1001101 [X]补=11000111,[Y]补=01001101 [X+Y]补=[X]补+[Y]补=00010100 76.X=78D,Y=-34D

解:[X]补=01001110 [Y]原=10100010 [Y]补=11011110 [X+Y]补=[X]补+[Y]补=00101100

77.若(AL)=0A8H,(BL)=24H,在分别执行指令MUL和IMUL后,其结果是多少? OF=? CF=? 解:执行MUL指令,0A8H×24H=17A0H,OF=CF=1

执行IMUL指令,(AL)补=-58H,-58H×24H=-C60H, 则(AL)×(BL)=F3A0H,OF=CF=1

78.已知如下两条指令,求指令执行后AX中内容以及标志位CF、ZF、SF、OF、PF和AF状态。

MOV AX,7896H ADD AL,AH

解:指令执行后,(AL)=0EH,(AH)=78H,即(AX)=780EH

所以各标志位状态为:CF=1,ZF=0,SF=0,OF=0,PF=0,AF=0

79.系统有一个堆栈段区,其地址为1250H:0000H—1250H:0100H,(SP)=0052H,则计算以下数值

(1)栈顶物理地址 (2)栈底物理地址 (3)堆栈段寄存器SS中的段地址

(4)若把数据3456H存入,此时SP的值 解:

(1) 栈顶地址:逻辑地址为1250H:0052H

物理地址为1250H×16+0052H=12552H

(2) 栈底地址:逻辑地址为1250H:0100H

物理地址为1250H×16+0100H=12600H

(3) 段寄存器:(SS)=1250H

(4) 若把数据3456H存入,此时(SP)=0050H

80.若(AL)=0A6H,(BL)=34H,在分别执行指令MUL和IMUL后,其结果是多少? 解:执行MUL指令,0A6H×34H=21B8H, 执行结果(AX)=21B8H,OF=CF=1

执行IMUL指令,(AL)补=-5AH,(BL)补=34H

-5AH×34H= -1248H,则(AL)×(BL)=EDB8H,

执行结果(AX)= EDB8H,OF=CF=1

81.已知X=46D,Y= -32D,求[X+Y]补

解:[X]补=00101110,[Y]原=10100000, [Y]补=11100000 则[X+Y]补=[X]补+[Y]补=00001110 则X+Y=14D

82.假设采用全地址译码方式,试确定以下各图连接方式中所确定的寻址范围。

A19 A18 1 …… & /CS A16 A15 1

A14 A13 解:8E000H~8FFFFH

83.已知(DS)=3000H,(BX)=1000H,(DI)=0020H,MASK=0300H,内存分配如图所示。连续执行下列指令后,DS,SI,DI,AX的内容是什么?标志位状态如何?

LEA SI,MASK[BX+DI] MOV AX,[SI] LDS DI,[BX+SI] SUB AX,76EBH

22H 13H 24H 13H ??. 31320H

31322H

00H 32320H

10H 00H 20H 00H

30H 32324H 323222H

解:(1)LEA SI,MASK[BX+DI],这条指令传送的是源操作数的有效地址而不是内容,

(SI)=MASK+(BX)+(DI)=0300H+1000H+0020H=1320H

(2)MOV AX,[SI],这条指令传送的是源操作数的有效地址的内容,源操作数的物理

地址PA=(DS)×16+(SI)=31320H

(AX)=1322H

(3)LDS DI,[BX+SI],其源操作数的物理地址PA=(DS)×16+(SI)+(BX)

=30000H+1320H+1000H=32320H

则(DS)=2000H

(DI)=1000H

(4)(AX)=1322H,执行SUB AX,76EBH后,

(AX)=1322H-76EBH=9C37H

标志位状态分别为:CF=1,SF=1,ZF=0,OF=0,PF=0,AF=1

84. 假设采用全地址译码方式,试确定以下各图连接方式中所确定的寻址范围。

A19 A18 1 1 & /CS ……A15 A14 A13 1 解:06000H~07FFFH

85. 假设采用全地址译码方式,试确定以下各图连接方式中所确定的寻址范围。

A1A1A1A1A1A1A11 1

≥1 /CS 解:18000H~19FFFH

86. 请将(1)~(9)的词汇和A~I的说明联系起来,括号内填入所选的A~I (1)CPU ( ) (2)指令 ( ) (3) EU ( ) (4)BIU ( ) (5)堆栈 ( ) (6) IP ( ) (7)段寄存器( )(8) 物理地址( ) (9)存储器( ) A.总线接口单元,负责与存储器、I/O接口传送信息 B.存放下一条要执行的指令的偏移地址 C.保存各逻辑段的起始地址的寄存器 D.存储程序和数据的记忆装置

E.唯一表示存储器空间中的每个字节单元的20位地址 F.微型机的核心,包括运算器、控制器和寄存器3个主要部分 G.以后进先出方式工作的存储空间

H.告诉CPU要执行什么操作,在程序运行时执行

I.执行单元,功能是执行指令 解:F、H、I、A、G、B、C、E、D 87.按下列要求写出相应的指令。

(1) 写出三条使AX内容为0的指令; (2) 使BL寄存器中的高四位和低四位互换; (3) 屏蔽CX寄存器的b8和b5位;

解:(1) MOV AX, 0 XOR AX, AX AND AX, 0

(2) MOV CL, 4 ROL/ROR BL, CL (3) AND CX, 0FEDFH

88.按下列要求写出相应指令。

(1)使DL寄存器中的高四位和低四位互换 (2)使DL寄存器中的每一位按位求反

(3)测试DL中的b3位是否位1,而不改变DL中的内容 (4)使AL、DL寄存器中的八位带符号数相乘

解:(1)使DL寄存器中的高四位和低四位互换

MOV CL, 4 ROL/ROR DL, CL

(2)使DL寄存器中的每一位按位求反 XOR DL, 0FFH

(3)测试DL中的bit3位是否为1,而不改变DL中的内容 TEST DL, 08H

(4)使AL、DL寄存器中的八位带符号数相乘 IMUL DL

89.设有关寄存器和存储单元内容为:

(DS)=4000H,(BX)=1000H,(SI)=0050H,(42500H)=11H,

(42501H)=22H,(42100H)=33H,(42101H)=44H,(41050H)=55H,(41051H)=66H 试说明下列各条指令执行之后,AX寄存器的内容,并指出源操作数的寻址方式 (1)MOV AX,3700H (2)MOV AX,BX (3)MOV AX,[2500H] (4)MOV AX,1100H[BX] (5)MOV AX,[BX][SI]

解:(1)(AX)=3700H,立即寻址(2)(AX)=1000H,寄存器寻址 (3)(AX)=2211H,直接寻址(4)(AX)=4433H,寄存器相对寻址 (5)(AX)=6655H,基址变址寻址 90.设有关寄存器和存储单元内容为:

(DS)=2000H,(BX)=0300H,(SI)=0002H,(20302H)=56H,

(20303H)=78H,(21200H)=22H,(21201H)=33H,(21400H)=44H,(21401H)=55H 试说明下列各条指令执行之后,AX寄存器的内容,并指出源操作数的寻址方式 (1)MOV AX,1500H (2)MOV AX,BX (3)MOV AX,[1200H] (4)MOV AX,1100H[BX] (5)MOV AX,[BX][SI]

解:(1)(AX)=1500H,立即寻址(2)(AX)=0300H,寄存器寻址 (3)(AX)=3322H,直接寻址(4)(AX)=5544H,寄存器相对寻址 (5)(AX)=7856H,基址变址寻址 91.指出下列各条指令源操作数的寻址方式。

(1)MOV AX,BX (2)MOV AL,44H (3) MOV AX,[SI][BX] (4)MOV DI,[BX] (5)MOV AX,33H[BX]

解: (1)寄存器寻址 (2)立即(数)寻址

(3)基址-变址寻址 (4)寄存器间接寻址(5)寄存器相对寻址 92.指出下列指令的错误。

(1)MOV DS,0200H (2)MOV AH,BX (3)MOV BP,AL (4)MOV AX,[SI][DI] (5)OUT 4310H,AL (6)MOV BYTE PTR[BX],1000 (7)PUSH BH (8)MOV [BX],[SI] (9)MOV CS,AX (10)MUL 39H (11)MOV AH,CX (12)MOV 33H,AL (13)MOV AX,[SI][DI] (14)MOV [BX],[SI] 解:(1)不能直接向DS中送立即数 (2)寄存器类型不匹配 (3)寄存器类型不匹配 (4)两变址寄存器不能同时使用 (5)直接寻址的输出指令中,端口号只能在0~FFH范围内 (6)数1000超出一个字节范围 (7)PUSH指令对字操作 (8)两内存单元之间不能进行数据传送

(9)CS不能做目的寄存器 (10)MUL指令不能为立即数

(11)寄存器类型不匹配 (12)MOV指令不允许目标操作数为立即数 (13)两变址寄存器不能同时使用 (14)两内存单元之间不能进行数据传送

93. (1)MOV DS,12H (2)MOV AH,400

(3)MOV BP,AL (4)MOV AX,[SI][DI]

(5)OUT 257H,AL (6)MOV BYTE PTR[BX],1000 (7)MOV [BX],[SI] (8)PUSH BH (9)LEA AX,OFFSET DATA (10)IN AL,BX 解:(1)不能直接向DS中送立即数 (2)400超过了一个字节的范围 (3)寄存器类型不匹配 (4)两变址寄存器不能同时使用

(5)直接寻址的输出指令中,端口号只能在0~0FFH范围内 或间接寻址的输出指令中,应使用DX寄存器 (6)1000超过了一个字节的范围

(7)源和目的操作数不能同时为存储器操作数 (8)PUSH是字操作指令 (9)取偏移地址指令重复使用

(10)在I/O指令间接寻址方式中,应使用DX寄存器 94.计算下列伪指令中各变量所占的字节数。

A1 DW 20

A2 DW 8 DUP(?),10,20 A3 DD 10 DUP(?) A4 DB 3 DUP(?,4 DUP(0)) A5 DB ‘Happy_new_year!!’

解:分别占2,20,40,15,16个字节

95.在8086、8088中,标志寄存器包含那些标志位?含义分别是什么?

解:CF:进位标志位,为1表示最高位向前有进位或借位,否则为0

PF:奇偶标志位,运算结果低8位中1的个数位偶数时为1,奇数为0 AF:辅助进位标志位,为1表示第三位向第四位有进位或借位,否则为0 ZF:零标志位,运算结果为零时为1,否则为0 SF:符号标志位,运算结果为负时为1,正数为0

OF:溢出标志位,带符号数运算时,超出范围为1,否则为0 备注:以上标志位每个1分 96.执行下列指令后,AX寄存器中的内容是多少?

TABLE DW 10,20,30,40,50 ENTRY DW 3

MOV BX, OFFSET TABLE ADD BX, ENTRY

MOV AX, [BX]

解:(AX)=1E00H

97.修改下列指令中的错误,改动原则为仅改动源操作数,且改动后每条指令源操作数的寻址方式唯一,并指出修改后源操作数的寻址方式。

(1)MOV BX,17H (2)OUT 25H,AH (3)ADD AX,[SI][DI] (4)MOV BX,[AX] (5)LEA AX,OFFSET DATA

解:(1) MOV BX,1117H 立即数寻址方式 (2) OUT 25H, AL 寄存器寻址方式 (3) ADD AX, [SI][BX] 基址变址寻址方式 (4) MOV BX, [DI] 寄存器间接寻址方式 (5) LEA AX, DATA 直接寻址方式

备注:此题答案并不唯一,改动只要正确即可,正确得一分。

98.试编制程序将数据串(-10,0,23,12,-8,9)中最大数和最小数找出来,存入MAX和MIN中。 解:DATA SEGMENT

NUM DB -10,0,23,12,-8,9 MAX DB ? MIN DB ?

DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV AL,NUM MOV MAX,AL MOV MIN,AL CLD

MOV SI,OFFSET NUM MOV CX,6

AGAIN:MOV AL,[SI] CMP AL,MAX JNG NEXT1 MOV MAX,AL NEXT1:CMP AL,MIN JNL NEXT2 MOV MIN,AL NEXT2:INC SI LOOP AGAIN MOV AH,4CH INT 21H CODE ENDS END START

99.试编制程序将ABCDEFG七个字母依次显示在屏幕上。 解:程序如下: DATA SEGMENT

DATA1 DB ‘ABCDEFG’ DATA ENDS CODE SEGMENT

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

MOV BX,OFFSET DATA1 MOV CX,7 AGAIN:MOV AL,[BX] XCHG AL,DL MOV AH,02H INT 21H

INC BX

LOOP AGAIN MOV AH,4CH INT 21H CODE ENDS END START 100.已知符号函数

?1,当X?0时?Y=?0,当X?0时

??1,当X?0时?设任意给定的X(-128≤X≤127)存放在XXX单元,计算出函数Y值,并存放在YYY单元中。

解:本题采用分支结构。

DATA SEGMENT XXX DB 03H YYY DB ? DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:MOV AX,DATA MOV DS,AX MOV AL,XXX CMP AL,0 JGE BIGR

MOV AL,0FFH JMP OK BIGR:JE OK

MOV AL,1 OK:MOV YYY,AL MOV AH,4CH INT 21H CODE ENDS

END START

101.当I/O状态端口0378H的Bit1为0时,表示外设忙;为1则表示外设可以接收数据。现将当前数据段中从BUFFER开始的连续100个字节的内容从I/O数据端口03F8H输出到外设。补充以下程序段

SENDATA PROC FAR

PUSH AX

PUSH (1) PUSH SI PUSH CX LEA SI, BUFFER MOV CL, (2)

AGAIN:MOV DX, (3) WAIT:IN AL, DX

TEST AL, (4) (5) WAIT MOV AL, [SI]

MOV DX, (6) OUT DX, AL (7) DEC CX

(8) AGAIN POP (9) POP SI POP DX

POP (10) RET

SENDATA ENDP

解:(1)DX (2)100 (3)0378H (4)02H (5)JZ

(6)03F8H (7)INC SI (8)JNZ (9)CX (10)AX 102.阅读下面的程序段,说明它实现的功能。

DATA SEGMENT DATA1 DB ‘ABCDEFG’ DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:MOV AX,DATA MOV DS,AX

MOV BX,OFFSET DATA1 MOV CX,7 NEXT: MOV AL,[BX] XCHG AL,DL MOV AH,2 INT 21H INC BX LOOP NEXT MOV AH,4CH INT 21H CODE ENDS END START

解:该程序段是将ABCDEFG这七个字母依次显示在屏幕上。

103.将数据0~63置入到内存中以BUF为首地址的连续64个字节单元中。

解:采用循环结构

DATA SEGMENT BUF DB 64 DUP(?) DATA ENDS CODE SEGMENT

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

MOV SI,OFFSET BUF MOV AL,0 MOV CX,64 LP:MOV [SI],AL INC SI INC AL

LOOP LP MOV AH,4CH INT 21H CODE ENDS

END START

104.在内存数据段中存放了270个8位带符号数,其首地址为SHU,试编写完整程序统计其中正、负、零的个数,并分别将其存入PLUS、MINUS、ZERO 3个单元中。 解:备注:因为大家思路不同,所以以下程序并非唯一正确答案。 DATA SEGMENT SHU DB 270 DUP (?) DATA ENDS CODE SEGMENT

ASSUME CS:CODE, DS:DATA START:MOV AX,DATA MOV DS,AX LEA BX, SHU MOV CX,270 NEXT: MOV AL, [BX] CMP AL,0 JGE NEXT1 INC MINUS JMP NEXT3 NEXT1: JE NEXT2 INC PLUS JMP NEXT3 NEXT:2 INC ZERO NEXT3: INC BX LOOP NEXT MOV AH,4CH INT 21H

CODE ENDS

END START

105.当I/O状态端口5678H的Bit5为1时,表示外设忙;为0则表示外设可以接收数据。现将当前数据段中从DATA1开始的连续200个字节的内容从I/O数据端口1234H输出到外设。试填空补全该子程序。

SENDATA PROC FAR

PUSH AX

PUSH (1) PUSH BX PUSH CX

LEA SI, (2) MOV CL, 200

AGAIN:MOV DX, (3) WAIT:IN AL, DX

TEST AL, (4) (5) WAIT MOV AL, [SI]

MOV DX, (6) OUT DX, AL (7) DEC CX JNZ AGAIN POP (8) POP BX POP DX

POP (9) (10)

SENDATA ENDP

解:(1)DX (2)DATA1 (3)5678H (4)20H (6)1234H (7)INC SI (8)CX (9)AX 106、图示以下数据段在存储器中的存放形式。

5)JNZ 10)RET ( (

(1) DATA SEGMENT A DB 1,2,3,4 B DB ‘ABCD’ C DW 4 DUP(1) N EQU 12 X DD 33H,02H Y DD 0ABCDH DATA ENDS 解:

A 01H 02H 03H 04H B ‘A’ ‘B’ ‘C’ ‘D’ C 01H 00H 01H 00H 01H 00H 01H 00H X 33H 00H 00H 00H

(2)图示以下数据段在存储器中的存放形式。 DATA SEGMENT

A DB 10,20,30,40 B DB ‘EFGH’ C DW 4 DUP(10) N EQU 45 X DD 66H,77H Y DD 3344H DATA ENDS

解:

02H 00H 00H 00H Y 0CDH 0ABH 00H 00H A

0AH 14H 1EH 28H B ‘E’

‘F’ ‘G’ ‘H’ C

0AH 00H 0AH 00H

.画图说明下列语句分配的存储空间

DATA SEGMENT

DATA1 DB ‘1234’ DATA2 DW 2 DUP(3,4,5) DATA3 DD 1234H DATA4 EQU 5 DATA5 DB 1,2,3,4 DATA ENDS

解:数据段中变量在内存中分配图如下。

0AH 00H 0AH 00H X 66H 00H 00H 00H 77H 00H 00H 00H Y 44H 33H 00H 00H 注:画出DATA4分配情况的,一律扣分。DATA1 ‘1’ ‘2’ ‘3’ ‘4’ DATA2 03H 00H 04H 107

00H 05H 00H 03H 00H 04H 00H 05H 00H DATA3 34H 12H 00H 00H DATA5 01H 02H 03H 04H 108、计算下列伪指令中各变量所占的字节数。 DATA SEGMENT A1 DW 20

A2 DW 8 DUP(?),10,20 A3 DD 10 DUP(?)

A4 DB 3 DUP(?,4 DUP(0)) A5 DB ‘Happy-New-Year!!’ DATA ENDS

解:A1:2个 A2:20个 A3:40个 A4:15个 A5:16个

109.用存储器芯片SRAM6116(2K×8)构成一个4KB的存储器,要求其地址范围在31000H~31FFFH之间。

解:(1)6116存储容量为2K×8:11根地址线(A0~A10 ),8根数据线(D0~D7) (2)计算所需芯片数量:(4K×8)÷(2K×8)=2片 (3)区分片内地址线与片选地址线

A19 A18 A17 A16 A15 A14 A13 A12 A11 A10--------A0

0 0 1 1 0 0 0 1 0 0-----------0 0 0 1 1 0 0 0 1 0 1-----------1 0 0 1 1 0 0 0 1 1 0-----------0 0 0 1 1 0 0 0 1 1 1-----------1 则第一片6116芯片的寻址范围为31000H~317FFH,第二片6116芯片的寻址范围为31800H~31FFFH (4)选用A13、A12、A11作为译码器的输入端 A17、A16通过与非门接到/G2A

A19、A18、A15、A14通过或门接到/G2B /MEMW、/MEWR通过与非门接到G1 注:这一题答案不唯一 (5)连线图如下

A13 A12 A11 A17 A16 A19 A18 A15 A14 & ≥1 D0~D7

A0 . . . A10 /MEMW /MEMR D0~D7 6116 A0 . . /CS . A10 R/W /OE D0~D7 A0 . 8088 . . A10 /MEMW /MEMR & G1 /G2A /Y2 /G2B 74LS138 /Y3 C B A D0~D7 6116 A0 . . . /CS A10 R/W /OE

110.试利用全地址译码将SRAM6264(8K×8)芯片接到8088系统总线上,使其所占地址范围为60000H~63FFFH,选用74LS138译码器,并求出每一片SRAM6264芯片所占内存的地址范围。

解:(1)A0~A12 13根地址线 D0~D7 8根数据线

则6264存储容量为8K×8(此部分内容可有可无,题干中已给出)

(2)计算所需芯片数量

所需构成的内存空间大小:63FFFH-60000H+1=4000H=16K 则所需芯片数量为

(16K×8)÷(8K×8)=2片----------------------------------------------1分 (3)区分片内地址线与片选地址线

A19 A18 A17 A16 A15 A14 A13 A12 A11----------------A0 0 1 1 0 0 0 0 0 0-------------------0 0 1 1 0 0 0 0 1 1-------------------1

0 1 1 0 0 0 1 0 1 1 0 0 0 1

则第一片6264芯片的寻址范围为60000H~61FFFH 第二片6264芯片的寻址范围为62000H~63FFFH (4)选用A15、A14、A13作为译码器的输入端 A18、A17通过与非门接到/G2A A19、A16通过或门接到/G2B

/MEMW、/MEWR通过与非门接到G1

译码器输出为Y0、Y1,分别接到6264的片选端。

注:这一题答案不唯一

图见第五章课件

111.阅读程序,说明程序执行后DH,DL,AL,CL的值。

MOV DL, 98H MOV AL, DL MOV CL, 4 SHR DL, CL ADD DL, 30H MOV DH, DL AND AL, 0FH ADD AL, 30H MOV DL, AL

DH= 39H ,DL= 38H ,AL= 38H ,CL= 04H 。 112.阅读下列程序,说明程序执行后BX,DX,ZF,CF的值。

MOV BX,1111H MOV DX, 7F00H XOR BX,DX

BX= 6E11H ,DX= 7F00H ,ZF= 0 ,CF= 0 。 113.阅读下列程序,说明程序执行后AX,BX,DX。OF的值。

MOV AX,9876H MOV BX,7FFFH CMP AX,BX JNO LOP MOV DX,-1 JMP DONE LOP:MOV DX,0 DONE:HLT

AX= 9876H ,BX= 7FFFH ,DX= FFFFH ,OF= 1 。

114.阅读下列程序,说明程序执行后DL,AX,CX,CF的值。

MOV AX, 789FH MOV CX, 16 MOV DL, 0

L1: ROL AX,1

JNC NEXT INC DL

NEXT:LOOP L1

HLT

DL= 0AH ,AX= 789FH ,CX= 0 ,CF= 1 。

115.阅读下列程序,说明程序执行后AH、AL、CF、Z单元的值。

MOV AH,0 MOV AL, X ADD AL,Y DAA

ADC AH, 0 MOV Z, AL X DB 88H Y DB 76H Z DB ?

AH= 01H ,AL= 64H ,CF= 1 ,Z单元的值= 64H 。 116.某班学生成绩存于以TABLE为首地址的存储区中,并用‘#’做为结束符。要求统计该

班成绩不及格(<60分)学生的人数,结果存放在CL中。试填空完善如下的程序实现指定功能。

MOV BX,OFFSET TABLE MOV CL, 0

LP:MOV AL, 【BX】 INC BX CMP AL ,‘#’ JE EXIT CMP AL, 60 JAE LP INC CL JMP LP EXIT:HLT

117.标志寄存器中属于控制标志位的是( A )

A.DF,IF,TF B.CF,OF,SF C.DF,OF,SF D.AF,OF,PF 118.定义一个过程的伪操作是( C )

A.MACRO和ENDM B.NAME和END C.PROC和ENDP D.SEGMENT和ENDS 119.十进制整数-110用8位二进制补码表示为( C ) A.0110 1110 B.1001 0001 C.1001 0010 D.1110 1110 120.ASCII码42H所代表的字符是( D ) A.2 B.4 C.A D.B

121.某内存单元的段地址是0AB90H,偏移地址是1234H,该内存单元的物理地址是( C A.0BDC4H B.1CED0H C.0ACB34H D.0AD134H 122.下列指令中,错误的是( A )

A.MOV DS, 1000H B.MOV DX,1000H C.MOV WORD PTR【BX】,1000H D.MOV ES:【BX+DI】,1234H 123.下列指令中,源操作数的寻址方式为基址变址寻址的指令是( B ) A.MOV AX,[DI] B.MOV AX,,[BX][SI] C.MOV AX,1000H[BX] D.MOV AX,[1000H]

124.设(AX)=8520H,执行指令“SAR AX,1”后,AX中的值是( D ) A.0A40H B.4290H C.C260H D.C290H

125.设(DF)=1,执行指令MOVSW后,SI和DI均要分别( B )

A.减1 B.减2 C.加1 D.加2 126.条件转移指令JBE产生转移的条件是( D ) A.(CF)=0或(ZF)=0 B.(CF)=0或(ZF)=1 C.(CF)=1或(ZF)=0 D.(CF)=1或(ZF)=1

127.设(SP)=12EH,执行段间返回指令RET后,SP的值是( D )

A.12AH B.12CH C.130H D.132H

128.设(AL)=98H,执行指令“SUB AL,36H”后,(OF)= 1 129.与指令“MOV SI,OFFSET DATA1”等效的指令是 LEA SI,DATA1 130.有程序段如下:

MOV AX,0A5B6H

MOV BX,AX NEG BX

ADD AX,BX 该程序段执行后,(AX)= 0 ,(CF)= 1 ,(ZF)= 1 131.有程序段如下: MOV AL,45H MOV BL,67H

MOV CL,89H TEST AL,0FH AND BL,0FH OR CL,0FH

该程序段执行后,(AL)= 45H ,(BL)= 07H ,(CL)= 8FH 132.有程序段如下:

XOR AX,AX MOV CX,10 MOV BX,2 DONE:ADD AX,BX INC BX INC BX LOOP DONE 问:(1)该程序段的功能是什么?答:求2+4+6+8+??+20之和 (2)程序段执行后,(AX)= 110 133.有程序段如下: MOV CX,16 MOV BX,0 MOV DX,1 DONE:TEST AX,DX JZ NEXT

INC BX NEXT:SHL DX,1 LOOP DONE

问:(1)该程序段的功能是什么? 答:统计AX中保存的数据中1的个数。

(2)若程序段执行前(AX)=1234H,程序执行后,(BX)= 5 134.有程序段如下:

STRING DB ‘ABCDEFGHI’

??

MOV AH,01H INT 21H AND AL,0FH DEC AL

LEA BX,STRING XLAT MOV DL,AL MOV AH,02H INT 21H

问:(1)假设从键盘输入的字符仅限于数字1~9,则该程序段完成的功能是什么? 答:根据从键盘输入的字符1~9,在显示器上显示STRING字符串中对应字符。 (2)如从键盘输入数字“4”,程序段执行后有什么结果? 答:显示字符D

135.以ARRAY为起始单元的数据区中存放若干个带符号数,分别统计其中正数和负数的个数,请在每个空白处填写一条指令,将程序补充完整,实现指定的功能。 DATA SEGMENT

ARRAY DB 12,-8,35,0,??,90 ;原始数据 COUNT EQU $-ARRAY

DA1 DB ? ;DA1存放正数个数 DA2 DB ? ;DA2存放负数个数 DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA BEGIN:MOV AX,DATA MOV DS,AX

① ;ARRAY单元首地址送BX

MOV DX,0

② ;送循环次数 LOP1:MOV AL,[BX] CMP AL,0 ③ ④ ⑤

JMP LOP3

LOP2: ⑥ LOP3: ⑦ ⑧ MOV DA1,DL MOV DA2,DH MOV AH,4CH INT 21H CODE ENDS

END BEGIN 解:

① LEA BX,ARRAY或 MOV BX,OFFSET ARRAY ②MOV CX,COUNT ③ JZ LOP3 ④JG LOP2或 JNLE LOP2

⑤INC DH ⑥INC DL ⑦INC BX ⑧LOOP LOP1 136.构成微机系统CPU的两功能单元是 【 A 】

A.EU和BIU B.ALU和BIU C.ALU和EU D.存储器和运算器 137.指令XOR AL,AL执行后,则 【 C 】 A.CF2I B.SF=I C.ZF=1 D.OF=l

138. 二进制数l000000.001B对应的十进制数是 【 C 】 A.32.1 8.40.I25 C.64.125 D.80.1 139.8位补码00001100B所代表的真值是 【 C 】 A.-248 8.-l2 C.12 D.248 140.下列四条指令中正确的是 【 D 】 A.MOV DS,0100H B.MOV AL,0100H C SHR AL,4 D.MOV AL,AH

141.下列四条语句中,非法的变量名是 【 A 】 A.2X DB l0H B X2 DB lOH C._X2 DB l0H D.X_2 DB lOH

142.通过指令INT 2l H调用系统功能时,其功能号应设置在 【 A 】 A.AH B.BH C.CH D.DH

143.语句Y DW l0 DUP(1OH,20H)所定义的变量Y在内存中占用的字节数是 【 C 】

A.10 8.20 C.40 D.80

144.下列存储介质中,只能读取不能写入的是 【 D 】 A.u盘 B.硬盘 C.软盘 D. ROM

145.由8KXl位存储芯片构成32KX8位内存,所需的芯片数为 【 C 】 A.8 8.16 C 32 D 64

146.8086CPU执行IRET时,寄存器出栈的顺序是 【 B 】 A.FLAGS,IP,CS B.IP,CS,FLAGS C.CS.IP,FLAGS D.FLAGS,CS,IP 147.ASCIl码42H所代表的字符为 【 B 】 A.‘A’ B.‘B’ C.‘ 0’D,1, 148.有程序段如下:

MOV AH,0FFH MOV AL,0 CMP AH,AL JGE NON_NEG MOV DH,0FFH

JMP FIN

NON_NEG:JZ ZERO MOV DH,1

JMP FIN

ZERO: MOV DH,0 FIN: HLT

执行该程序后,AH= FFH ,AL= 00H ,DH= FFH ,OF= 0 149.有程序段如下:

MOV CX,8000H MOV DX,7FFFH XOR CX,DX HLT

执行该程序后,CX= FFFFH ,DX= 7FFFH ,ZF= 0 ,CF= 0 。 150. 有程序段如下:

MOV CL,10H MOV DL,0

MOV AX,0AAFEH L1:SHL AX,1

JC NEXT INC DL

NEXT:DEC CL

JNZ L1 HLT

执行该程序后,DL= 05H ,AX= 0 。

该程序段的功能是 统计AX累加器所存数据中0的个数 。 151. 有程序段如下:

DATA1 DB ‘0123456789’ ??

MOV BX,OFFSET DATA1 MOV AL,08H XLAT

MOV DL,AL MOV AH,2 INT 21H

执行该程序后,CRT上显示的字符是 8 ,在执行XLAT指令后,AL= 38H ,该程序段的功能是 利用查表指令和DOS功能调用单字符输出在屏幕上显示数字8 。 152. 有程序段如下:

MOV SI,2000H MOV AL,08H L1:MOV [SI],AL

MOV BL,[SI]

执行该程序后,AL= 08H ,SI= 2000H ,BL= 08H 。 标号L1处MOV指令的目标操作数寻址方式是 寄存器间接寻址 。 153. 编写程序:

已知16个有符号数为:0,0,1,-1,2,-2,3,-3,4,-4,5,-5,6,-6,7,-7 试填空完成下列程序,统计其中正数、负数和0的个数。

STSEG SEGMENT STACK

DB 100 DUP(?) STSEG ENDS

DTSEG SEGMENT

DATA1 DW 0,0,1,-1,2,-2,3,-3,4,-4,5,-5,6,-6,7,-7 PLUS DB 0 ZERO DB 0 MINU DB 0 DTSEG ENDS

CDSEG SEGMENT

ASSUME CS:CDSEG,SS:STSEG,DS:DTSEG,ES:DTSEG

START: MOV AX,DTSEG

MOV DS,AX

MOV SI, ① ;取第一个数据的地址 MOV CX,16 ;设置循环次数

AGAIN:MOV AX,【SI】 ;取数据

CMP AX,0 ;比较

JZ ② ;比较的结果为0 JL ③ ;比较的结果小于0 INC ④ JMP ⑤ ZERO1:INC ⑥ JMP ⑦ MINU1:INC ⑧ NEXT: INC SI INC SI

LOOP AGAIN MOV AH,4CH INT 21H CDSEG ENDS

END MAIN ①OFFSET DATA1 ②ZERO1 ③MINU1 ④PLUS ⑤NEXT ⑥ZERO ⑦NEXT ⑧MINU

154.在汇编程序中定义一个名为VAR2的字节型变量,初值为45,若用BCD码表示, 那么正确定义变量的伪操作为 【 D 】 A.VAR2 DB 2D B.VAR2 DW 2DH C.VAR2 DW 45 D.VAR2 DB 45H

155.将十进制数98转换成二进制数,其值为 【 A 】

A.O1100010 B B.O1101000 B C.10010001 B D.10011000 B 156.8位二进制补码可表示数的范围是 【 A 】

A.最大数为127;最小数为-128 B.最大数为128;最小数为128 C.最大数为255;最小数为0 D.最大数为256;最小数为0 157.下列四条指令中,错误的是 【 C 】 A.MOV AX,[DI] B.MOV AL,[DI+5] C.MOV CS,AX D.MOV DS,AX

158.指令CMP BL,DL运算结果将会 【 C 】

A.影响标志位,并把差值送BL B.不影响标志位,但将差值送入BL C.影响标志位,但不将差值送入BL D.不影响标志位,也不计算差值 159.十六进制补码88H所表示的真值为 【 A 】 A.-120 B.-8 C.88 D.136

160.两数相减其结果为零;则标志寄存器中必定为1的标志位是 【 D 】

A.CF B.DF C.SF D.ZF

161.8086指令ADD AL,[BX+SI+88H]的寻址方式为 【 C 】

A.变址寻址 B.寄存器寻址 C.基址变址相对寻址 D.基址寻址 162.DOS系统l号功能调用用于键盘输入,按键后所得到的键值送入 【 D 】 A.BL寄存器 B.DL寄存器 C.AH寄存器 D.AL寄存器 163.可以将汇编源程序ZK.ASM汇编成ZK.EXE的软件是 【 A 】 A.MASM.EXE LINK.EXE B.MASM.EXE DEBUGEXE C.DEBUG.EXE LINK.EXE D.LINK.EXE LIB.EXE 164.55H与0ABH均为补码,这两个数和的真值为____0____。

165.一个SRAM:芯片的数据线为D7~D0,地址线为A15—A0,则该芯片容量为___64K*8_____。 166.若堆栈指针SP的初值为3000H,执行PUSH AX指令后SP的值为___2FFEH_____。 167.字符‘8’的ASCIl码是____38H____。 168.有程序段如下:

MOV AX, 8080H NOT AH NEG AL

程序执行后,AH=__7FH______,AL=__80H______。 169.有程序段如下:

MOV AL, 8 ADD AL, AL MOV BL, AL MOV CL, 2 SHL AL, CL ADD AL, BL

程序执行后,AL=___50H_____,BL=___10H_____。 170.有程序段如下:

MOV BL, 96H MOV AL, BL MOV CL, 4 SHR AL, CL MOV BH, AL AND BL, 0FH

程序执行后,BH=___09H_____,BL= 06H_____。 171.有程序段如下:

DATA1 DB 38H,96H,00H,7FH

??

MOV BX,OFFSET DATA1 MOV CX,4 LP: MOV AL,【BX】

AND AL,AL JZ ZERO JS MINUS PLUS:MOV DL,‘+’

JMP EXIT

MINUS:MOV DL,‘-’

JMP EXIT

ZERO:MOV DL,‘0’ EXIT:MOV AH,2

INT 21H INC BX LOOP LP

程序执行后,CRT显示的字符是 + - 0 + 。

??

MOV BX,OFFSET DATA1 MOV CX,4 LP: MOV AL,【BX】

AND AL,AL JZ ZERO JS MINUS PLUS:MOV DL,‘+’

JMP EXIT

MINUS:MOV DL,‘-’

JMP EXIT

ZERO:MOV DL,‘0’ EXIT:MOV AH,2

INT 21H INC BX LOOP LP

程序执行后,CRT显示的字符是 + - 0 + 。

本文来源:https://www.bwwdw.com/article/9xdp.html

Top