《微机原理及应用》 试题库
1. 8086和8088的引脚信号中, D 为地址锁存允许信号引脚。
A.CLK B.INTR C.NMI D.ALE 2. 下面的哪项是有效标识符: B
A . 4LOOP: B. DELAYIS: C. MAIN A/B: D. GAMA$1: 3. 如图所示的三态输出电路,当 A 时,VB≈VDD。
A. E(ENABLE)=1, A=1 B. E(ENABLE)=1, A=0 C. E(ENABLE)=0, A=1 D. E(ENABLE)=0, A=0
4. 设 (SS)=2000H, (SP)=0100H,(AX)=2107H, 则执行指令PUSH AX 后,存放数据21H的物理地址是 D 。
A. 20102H B. 20101H C. 200FEH D. 200FFH
5. 汇编语言中,为了便于对变量的访问, 它常常以变量名的形式出现在程序中, 可以认为它是存放数据存储单元的 A 。
A.符号地址 B.物理地址 C.偏移地址 D.逻辑地址 6. 下列四个寄存器中,不能用来作为间接寻址方式的寄存器是 A 。 A. CX B. BX C. BP D. DI (C)7. 执行下列程序段:
MOV AX,0 MOV BX,1
MOV CX,100
AA: ADD AX,BX
INC BX LOOP AA HLT
执行后的结果:(AX)= , (BX)= 。
A. 5050,99 B. 2500,100 C. 5050,101 D. 2550,102 8. 假设V1和V2是用DW定义的变量,下列指令中正确的是 A 。
A.MOV V1, 20H B.MOV V1, V2 C.MOV AL, V1 D.MOV 2000H, V2 9. – 49D的二进制补码为 A 。
1
A. 1100 1111 B. 1110 1101 C. 00010001 D. 1110 1100
10. 在8086/8088CPU中,为了减少CPU等待取指所需的时间,设置了 C 。
A. 时钟周期 B. 等待状态 C. 指令队列 D. 中断向量 11. ① MOV AX,1000H;② MOV AX,[1000H] ;③ MOV AX,BX
上述三条指令,根据其寻址方式的不同,判断执行速度,由快至慢的顺序为: B 。
A . ③②① B. ①③② C. ①②③ D. ②③①
12. 若门电路的两个输入量为1、1,输出量为0,则不可能完成此功能的是: D 。
A . “异或”门 B. “与非”门 C. “或非”门 D. “与”门
13. 若BL=87H,BH=0E6H,则BX= D 。
A. 87H B. 0E6H C. 87E6H D. 0E687H
14. 已知物理地址为0FFFF0H,且段内偏移量为0B800H,若对应的段基地址放在DS中,则DS= A 。 A. 0F47FH B. 0F000H C. 0FFFFH D. 2032H 15. 设SP=1110H,执行PUSH AX指令后,堆栈指针SP的内容是 D 。 A. 1112H B. 110DH C. 1111H D. 110EH 16. 用来存放即将执行的指令的偏移地址的寄存器是 C 。 A. BP B. SP C. IP D. CS 17. MOVS前可添加的前缀为 C 。
A.REPE/REPZ B.REPNE/REPNZ C.REP D.无 18. 下列四个选项, C 项是正确的。
A. MOV AX, BL B. MOV [BX] , [SI] C. MOV DX, 1000H D. MOV ES, CS 19. 下列四个选项, D 项是不正确的。
A. IN AL, 50H B. IN AX, 70H C. OUT 44H, AL D. OUT 6780H, AX
20. 堆栈段寄存器是 B 。
A.DS B.SS C.ES D.CS 21. 86系列汇编语言指令语句格式中,标识符有效长度为 A 个字符。
A.31 B.30 C.29 D.28
22. BUFFER DB 100 DUP(?) ; 表示BUFFER为 B 的存储空间,其内容为随机数,通常作为程序的工作单元。
A.100个字 B.100个字节 C.200个字节 D.200个字
23. SBB在形式和功能上都和SUB指令类似, 只是SBB指令在执行减法运算时, 还要减去 C 的值。
A.SF B.OF C.CF D.ZF
24. 字符串指令有许多参数是隐含约定的,目的字符串的起始地址为 D 。
A.DS:ES B.SI:DI C.DS:SI D.ES:DI
25. 非循环逻辑移位指令在执行时,实际上是把操作数看成 A 符号数来进行移位。
A.无 B.带 C.不确定
2
26. 非循环算术移位指令在执行时,实际上是把操作数看成 B 符号数来进行移位。
A.无 B.带 C.不确定
(C)27. 设[2000H]、[2001H]、[2002H]、[2003H]这四个存储单元存放的地址分别为12H 、34H、 56H 、78H, 则执行完LES SI, [2000H]后, ES= ,SI= 。
A.3412H;7856H B.1234H;7856H C.7856H;3412H D.7856 H;1234H (A)28. 对于简化的微机硬件结构,IR从PROM接收到指令字,同时将指令字分送到 和W总线上去, 左4位即最高有效位为 ;右4位即最低有效位为 。
A. 控制部件CON, 指令字段, 地址字段 B. 算术逻辑部件ALU, 指令字段, 地址字段 C. 控制部件CON, 地址字段, 指令字段 D. 算术逻辑部件ALU, 地址字段, 指令字段
(B)29. 使用换码指令时, 要求 寄存器指向表的首地址, 而 寄存器中为表中某一项与表格首地址之间的偏移量。
A.AX ,AL B.BX ,AL C.BX, BL D.AX ,BL
30. 当跟踪标志位TF=1时, CPU每执行完一条指令就产生一个内部中断, 处于 B 状态。
A. 正常工作 B. 暂停 C. 程序调试 D. 无法确定
31. 串操作时, 地址的修改往往与方向标志DF有关, 当DF=1时, SI和DI作自动 B 修改。
A.增量 B.减量 C.不确定
32. 用 A 能完成把AX的低字节清零,高字节不变的要求。
A.AND AX,0FF00H B.OR BX,00FFH C.XOR CX,00FFH D.TEST AX, 0FF00H 33. 用 B 能完成把将BX的低字节置成全“1”,高字节不变的要求。
A.AND AX,0FF00H B.OR BX,00FFH C.XOR CX,00FFH D.TEST AX, 0FF00H 34. 用 C 能完成将CX的低字节变反,高字节不变的要求。
A.AND AX,0FF00H B.OR BX,00FFH C.XOR CX,00FFH D.TEST AX, 0FF00H 35. 十进制数30.375表示成十六进制数为 D H。
A.1F.5 B.1F.6 C.1E.5 D.1E.6 36. 执行完毕下列程序段后,BX寄存器中的内容是 A 。
MOV CL,3 MOV BX,00B7H ROL BX, 1 ROR BX,CL
A. 0C02DH B. 00EDH C. 002D H D. 000DH
37. 汇编语言中,经过定义的每个变量均有3个属性,下列 D 不属于变量的属性。
3
A.段属性 B.偏移量属性 C.类型属性 D.地址属性 38. 字符串指令有许多参数是隐含约定的,源字符串的起始地址为 C 。
A.DS:ES B.SI:DI C.DS:SI D.ES:DI
39. 乘法运算是双操作数运算, 但是, 在指令中却只指定一个操作数, 另一个操作数是隐含规定的, 隐含操作数为 A 。
A.AL/AX B.BL/BX C.CL/CX D.DL/DX 40. LDA 、ADD和SUB三条助记符对应的操作码分别为 A A. 0000、0001和0010 B. 0001、0000和0100 C. 1110、1111和0010 D. 0000、1101和0101
41. 在8086/8088微机系统中,将AL内容送到I/O接口中,使用的指令是 A 。
A. OUT 端口地址, AL B. MOV AL, 端口地址 C. OUT AL, 端口地址 D. IN AL, 端口地址 42. 指令MOV AL,[BX+SI+25],源操作数字段是 B 寻址方式。
A. 寄存器 B. 寄存器间接 C. 直接 D. 立即数 43. 下列 C 指令不影响进位标志CF的状态。
A.ADD B.SUB C.INC D.CMP
44. 8086/8088系统中把1M存储空间分成16个逻辑段(0~15), 每个逻辑段的容量 C 。
A.≠64KB B.=64KB C.≤64KB D.≥64KB
45. 已知DS=2000H,BX=3000H,SI=4000H。执行完毕MOV AL,[BX+SI] 之后,将 A 存储单元的内容送到AL寄存器去。
A.27000H B.27001H C.9000H D.9001H 46. 下列四条指令中, B 是错误的。
A. LEA AX, [2728H] B. LEA CX, 6093H
C. LEA SP, [0482H] D. LEA BX, [BP+SI] 47. 将11.375D转换成二进制数,为 B 。
A.1101.011B B.1011.011B C.1101.101 B D.1011.101B 48. NEG指令是一个 A 操作数指令。
A.单 B.双 C.无 D.任意多个
49. 在8086/8088中,一个最基本的总线周期由4个时钟周期组成,假设8086的主频为10MHz,则一个时钟周期是 A 。
A.100ns B.200ns C.250ns D.400ns 50. 有如下定义
VAR1 VAR2
DB DB
1, 2, 3, 4, 5 '12345'
NUM4 EQU VAR2–VAR1 则NUM4= D 。
4
A.2 B.3 C.4 D.5
51. 采用2的补码形式时,一个字节能表达的带符号整数范围为 D 。
A. [–128,+128] B. [–127 , +127] C. [–127 , +128] D. [–128 , +127] 52. 执行MOV AX, 'A' EQ 41H 后,AX= A 。
A.0FFFF H B.0000H C.0041H D.4100H
53. 子程序计数器SC,不由CLR来清零,而是由 D 门来置数。一旦置数,即为其子程序的开始地址。
A. ES B. CS C. DS D. LS
54. 8086在存储器读写时,遇到READY无效后可以插入 D 。
A. 1个等待周期 B. 2个等待周期
C. 3个等待周期 D. 插入等待周期的个数可不受限制
55. 执行MOV AL, LOW 3080H 后,AL= B 。
A.30H B.80H C.3080H
56. SCAS指令是用来从目标串中查找某个关键字, 要求查找的关键字应事先置入 A 寄存器中。
A.AL/AX B.BL/BX C.CL/CX D.DL/DX
57. 一个最基本的微处理器由三部分组成,不包括下列 C 项。
A. 算术逻辑部件ALU B. 控制器 C. 时钟振荡器 D. 内部寄存器
58. 某种微处理器的地址引脚数目为20条,则此微处理器能寻址 B 字节的存储单元。
A. 64K B. 1M C. 1G D. 1T
59. 指令 ES: ADD AX,[BX+DI+1020H] 中,存储器操作数物理地址的计算表达式为 D 。
A. PA= DS×16+ BX+DI+1020H B. PA= CS×16+ BX+DI+1020H
C. PA= SS×16+ BX+DI+1020H D. PA= ES×16+ BX+DI+1020H 60. 8086CPU内部按功能分为两部分,即 D 。
A. 执行部件和指令队列 B. 总线接口部件和控制部件
C. 执行部件和地址加法器 D. 总线接口部件和执行部件 61. 8086CPU的总线接口部件有多个组成部分,除了下述 A 项
A. 4个专用寄存器 B. 20位的地址加法器和4个段地址寄存器
C. 16位指令指针寄存器IP D. 6字节的指令队列 62. 堆栈的深度由 C 寄存器决定。
A. SI B. DI C. SP D. BP
63. 在寄存器AX、BX中有两个带符号数A、B,利用CMP AX, BX指令比较两者的大小,若A>B,则标
志位的状态应是 A 。
A. OF=1,SF=1 B. OF=0,SF=1 C. OF=1,SF=0 D. CF=1,SF=0
64. 指令ADD AX,[BX+DI+20H] 源操作数的寻址方式为 A 。
A. 相对基址加变址寻址 B. 基址加变址寻址 C. 堆栈段基址寻址 D. 数据段基址寻址
65. 将二进制数1110 1010.0011B转换为八进制和十六进制数,分别为 A 。
A. 352.14Q; 0EA.3H B. 352.25Q; 0EB.5H
5
C. 363.25Q; 0EA.3H D. 352.14Q; 0FA.3H
66. 8086有两种工作模式,当 B 时为最小工作模式。
A. MN/MX= 0 B. MN/MX= 1 C. INTR = 1 D. HOLD = 1 67. 采用寄存器寻址方式时, D 。
A. 对16位操作数来说, 寄存器只能采用AX, BX, CX, DX B. 只能对源操作数采用寄存器寻址方式 C. 比直接寻址方式的指令执行速度要慢 D. 操作就在CPU内部进行, 不需要使用总线周期
68. 设初值BX=6D16H, AX=1100H, 则执行下列程序段后,BX= A 。
MOV CL, 06H ROL AX, CL SHR BX, CL
A. 01B4H B. 4004H C. 41B1H D. 04B1H
69. 段寄存器 B 不能从堆栈弹出。
A. SS B. CS C. DS D. ES
70. 下列对立即数寻址方式描述正确的是 C 。
A. 立即数只能是16位二进制数 B. 立即数可以是小数或者变量
C. 立即数只能是整数 D. 源操作数和目的操作数都可以采用立即数寻址方式
71. 设初值AX=6264H, CX=0004H, 在执行下列程序段后AX= C 。
AND AX, AX JZ DONE SHL CX, 1 ROR AX, CL
DONE: OR AX, 1234H
A. 1234H B. 6264H C. 7676H D. 5634H
72. 在微型计算机中使用 D 来区分不同的外设。
A. 物理地址 B. 偏移地址 C. 有效地址 D. I/O端口地址
73. 正数的反码与原码 B 。
A. 不相等 B. 相等 C. 无法确定是否相等
74. 微处理器中对每个字所包含的二进制位数叫 D 。
A. 双字 B. 字 C. 字节 D. 字长
75. 8086CPU中负责与I/O端口交换数据的寄存器为 A 。
A. AX/AL B. BX/BL C. CX/CL D. DX/DL
76. 十六进制数2B.4H转换为二进制数是和十进制数分别为是 A 。
A. 00101011.0100 B; 43.25D B. 00111011.0100 B; 43.15D
6
C. 10101011.0101 B; 42.55D D. 01101101.0110 B; 41.35D
77. 堆栈是一种 D 存储器。
A. 顺序 B. 先进先出 C. 只读 D. 先进后出
78. CPU和主存之间增设高速缓存(Cache)的主要目的是 B 。
A. 扩大主存容量
B. 解决CPU和主存之间的速度匹配问题
D. 以上均不对
C. 提高存储器的可靠性
79. [x]补=11011100B,则x的真值为 A 。
A. –36D B. 92D C. –28D D. 5CH
80. 若指令的运算结果不为0且低8位中“1”的个数为偶数,则标志寄存器中ZF和PF的状态为 B 。
A. 0,0
B.0,1
C.1,0
D.1,1
81. 根据下面定义的数据段:
DSEG SEGMENT DAT1 DB '1234' DAT2 DW 5678H
DAT3 DD 12345678H ADDR EQU DAT3–DAT1 DSEG ENDS
执行指令MOV AX, ADDR后,AX寄存器中的内容是 C 。 A. 5678H B. 0008H C. 0006H D. 0004H
82. 在存储体系中,辅存的作用是 C 。
A. 弥补主存的存取速度不足 B. 缩短主存的读写周期 C. 弥补主存容量不足的缺陷 D. 减少CPU访问内存的次数
83. 8086/8088在复位之后再重新启动时,便从内存的 A 处开始执行指令, 使系统在启动时,能自动进入系统程序。
A. 0FFFF0H B. 0FFFFH C. 0000H D. 0001H
84. 8086的SS=1060H, SP=0010H, AX=1234H, 当执行一条PUSH AX指令时, 1234H存放的实际地址是 D 。
A. (10610H)=12H (10611H)=34H B. (10610H)=34H (10611H)=12H C. (1060EH)=12H (1060FH)=34H D. (1060EH)=34H (1060FH)=12H
85. 设(BX)=9C27H,执行下列指令序列后,BX寄存器的内容是 C 。 MOV CL,5 SAR BX,CL
A. 04E1H B. 80E1H C. 0FCE1H D. 0B00H
86. 执行完下列程序段后,AX= B 。
MOV DX,8F70H
MOV AX,54EAH OR AX,DX AND AX,DX NOT AX XOR AX,DX ROR AX, 1
7
A. 0FFFF0H B. 0FFFFH C. 0000H D. 0001H
87. 设CF=0, (BX)=7E15H, (CL)=03H,执行指令 RCL BX, CL后, (BX)、 (CF)和 (CL)分别是 C 。
A. 0F0A9H; 0; 1 B. 0F0ABH; 1; 3 C. 0F0A9H; 1; 3 D. 0F0ABH; 1; 0
88. CPU用减法指令对两个补码表示的带符号数6BH(被减数)和0C7H(减数)进行减法运算后,标志位CF、SF和OF分别为 D 。
A. 0, 0, 0 B. 0, 1, 1 C. 1, 0, 0 D. 1, 1, 1
89. 在8086和8088汇编语言中,一个字能表示的有符号数的范围是 B 。
A. –32768≤n≤32768 B. –32768≤n≤32767 C. –65535≤n≤65535 D. –65536≤n≤65535
90. 如果在CMPS和SCAS指令前使用REPE/REPZ前缀, 则只有在 D 时, 才重复进行扫描和比较。
A.CX≠0 B.ZF=1 C.CX≠0 或ZF=1 D.CX≠0且ZF=1
(C) 91. 在8086/8088的16位寄存器中,有4个寄存器可拆分为8位寄存器使用。他们是 ,他们又被称为 。
A. AX, BX,CX,DX ;专用寄存器 B. BP, SP, SI, DI; 专用寄存器 C. AX, BX, CX, DX ;通用寄存器 D. CS, DS, ES, SS; 段地址寄存器
(C) 92. 采用十六进制书写二进制数,位数可以减少到原来的 。
A. 1/2 B. 1/3 C. 1/4 D. 1/5
93. 如果指令中的地址码就是操作数的有效地址,那么这种寻址方式称为 B 。
A. 立即寻址 B. 直接寻址 C. 间接寻址 D. 寄存器寻址
94. 若(AL)=0C6H,(CL)=03H,执行指令SAR AL, CL后,AL的内容为 D 。
A. 18H B. 28H C. 48H D. 0F8H
95. JGE指令的转移条件是 D 。
A. (SFOF)=0 且 ZF=0 B. (SFOF) =1 或 ZF=1 C. (SFOF)=1 且 ZF=0 D. (SFOF)=0 或 ZF=1
96. 下图为m×n的RAM,WE及ME的电位分别为 B 时,为数据写入。
A. WE=1,ME=0 B. WE=1,ME=1 C. WE=0,ME=0 D. WE=0,ME=1
97. 如指令中的地址码就是操作数,那么这种寻址方式称为 A 。
A . 立即数寻址 B. 直接寻址 C. 寄存器间接寻址 D. 寄存器寻址
98. 现代计算机通常是将处理程序存放在连续的内存单元中,CPU在执行这个处理程序时,使用一个寄存器来指示程序的执行顺序,这个寄存器为 D 。
A. 指令寄存器
B. 指令译码器 C. 指令缓冲寄存器 D. 指令指针寄存器
99. 两个无符号数2345H+3219H相加, 状态标志OF和ZF分别为 D 。
A. OF=1,ZF=1 B. OF=1,ZF=0 C. OF=0,ZF=1 D. OF=0,ZF=0
8
100. 8088/8086CPU中程序计数器PC中存放的是 B 。
A. 指令 B. 指令地址 C. 操作数 D. 操作数地址
101. 若设某容量为16K字节的RAM起始地址为4000H, 则其终止地址为 C 。
A. 61FFH B. 63FFH
102. 一个堆栈的深度最大为 B 。
A. 1K B. 64K C. 1M D. 1G
103. 与十进制数58.75等值的十六进制数是 B 。
A. A3.CH B. 3A.CH C. 3A.23H D. C.3AH
104. 十进制小数转换成十六进制小数可采用 D 。
A. 除10取余法 B. 乘10取整法 C. 除16取余法 D. 乘16取整法
105. 如图所示总线结构的原理图,4个寄存器A,B,C和D ,其控制字CON= C 。
C. 7FFFH
D. 6FFFH
A. W1W2W3W4 B. LAEALBEBLCECLDED CLK C. LAEALBEBLCECLDED D. 无法确定 106. 计算机的内存储器可采用 D 。
A. RAM
B. ROM C. 磁盘 D.ROM和RAM
107. 有如下定义
TABLE1 DD 0,1,2,3 TABLE2 DB 30H, 31H, 32H, 33H
则下列指令中, C 项是正确的。
A. MOV AX,TABLE1 B. MOV BX,TABLE2
C. MOV AX, WORD PTR TABLE1 D. MOV BX, BYTE PTR TABLE1
108. 若定义DAT DW 12H, 34H;则DAT+1和DAT+2两个字节内存单元中存放的数据分别是 A 。
A. 00H;34H B. 00H;12H C. 12H;00H D. 12H;34H
109. 计算机存储器的容量一般是KB为单位,这里的1KB等于 C 。
A. 1024个二进制符号 B. 1000个二进制符号 C. 1024个字节 D. 1000个字节
110. MDR和MAR以及RAM的联系如图所示,MDR和MAR分别是 B 位的寄存器。
9
A. 8,8 B. 8,12 C. 12,8 D. 12,12
1、♫ 编写程序:完成两个4字节无符号数加法,即0107 A379H+1006 7E4FH=?结果存放在哪里? MOV DX, 0107H ; 第一个数高16位 DX MOV AX, 0A379H ;第一个数低16位 AX MOV BX, 1006H ;第二个数高16位 BX MOV CX, 7E4FH ;第二个数低16位 CX CLC ;清除进位标志 ADD AX, CX ;AX+CX AX(低位) ADC DX, BX ;DX+BX+CF DX(高位) 结果=110E 21C8H 存放在DX、AX里。
2、♫ 用乘法指令完成4902H×403AH,结果送内存(0510H)~(0513H)单元。 MOV AX,4902H
MOV BX,403AH MUL BX
MOV [0510H],AX MOV [0512H],DX
3、♫ 写程序:用除法指令完成390AH÷1024H,并将商和余数顺序存放到数据段[2000H]开始的内存单元。 MOV AX, 390AH
CWD ;把字换成双字, 390AH→0000390AH, 隐含操作数AX MOV BX, 1024H DIV BX
MOV [2000H], AX MOV [2002H], DX
4、♫ 试编制将AX的最高4位(D15 ~D12), BX的最低4位(D3 ~D0), CX的中间8位(D11 ~D4), 拼成一个新字送DX的程序段。
AND AH, 0F0H ;取AX的高4位, AH ← AX 的 D15 ~D12 0000 AND BL, 0FH ;取 BX的后4位, BL ← 0000 BX 的 D3 ~D0
AND CX, 0FF0H ;取 CX中间8位, CX ← 0000 CX 的 D11 ~D4 0000
10
OR CH, AH ;拼装高8位, CH ← AX 的 D15 ~D12 , CX 的 D11 ~D8 OR CL, BL ;拼装低8位, CL ← CX 的 D7 ~D4, BX 的 D3 ~D0 MOV DX, CX ;DX← CX
5、♫ 将内存(10050)单元的内容7AH拆成两段,每段4位,并将它们分别存入内存(10051)和(10052)单元。即(10050)单元中的低4位放入(10051)的低4位,(10050)单元中的高4位放入(10052)的低4位,而(10051)和(10052)的高4位均为零。
MOV AX,1000H
MOV DS,AX ;DS=1000H
MOV SI,50H ;需拆字节的指针SI=50H MOV AL,[SI] ;取一个字节到AL中 AND AL,0FH ;把AL的前4位清0
MOV [SI+1],AL ;把得到的后4位放到(10051)单元 MOV AL,[SI] ;再取出需拆字节放到AL中 MOV CL,4
SHR AL,CL ;逻辑右移四次,前4位补0 MOV [SI+2],AL ;放
6、♫ 在某字符串中查找是否存在′$′字符。若存在, 则将′$′字符所在地址送入BX寄存器中, 否则将BX寄存器清“0”。
CLD ;清除方向标志DF
MOV DI, 0100H ;送目标串首元素偏移地址 MOV AL, ′$′ ;关键字→AL REPNE SCASB ;找关键字 AND CX, 0FFH JZ ZER DEC DI
MOV BX, DI ;关键字所在地址→BX JMP ST0
ZER:MOV BX, 0 ;未找到, 0→BX ST0: HLT
7、♫ 将2000H:1200H地址开始的100个字节传送到6000H:0000H开始的内存单元中去。
7MOV AX, 2000H
MOV DS, AX ;设定源串段地址 MOV AX, 6000H
MOV ES, AX ;设定目标串段地址 MOV SI, 1200H ;设定源串偏移地址
MOV DI, 0 ;设定目标串偏移地址 MOV CX, 100 ;串长度送CX
CLD ;(DF)=0, 地址指针按增量方向修改 NEXT: REP MOVSB ;每次传送一个字节, 并自动修改地址指针及
;CX内容, (CX)=0就继续传送, 直至(CX)=0 8、♫ 求AX累加器和BX寄存器中两个无符号数之差的绝对值,结果放在内存(2800)单元中。 CLC ; 清除CF SUB AX,BX
JC AA ; CF=1转AA去执行(即AX<BX时转移)
11
MOV DI,2800H ; 结果指针DI=2800H MOV [DI],AX ; 结果送到2800H和2801H单元 HLT ; 暂停
AA: SUB BX,AX ; BX←BX-AX MOV DI,2800H MOV [DI],BX HLT
9、♫ 设AX寄存器中有一个16位二进制数,编一程序,统计AX中‘1’的个数,统计结果送CX中。 START:MOV CX,0 LOOP: SUB AX,0 JZ STP SAL AX,1 JNC NOD INC CX NOD: JMP LOOP STP: HLT
10、♫ 写程序将外设20H与30H端口的内容相乘,结果放在AX中。 START: IN AL,20H MOV BL,AL IN AL,30H MOV CL,AL MOV AX,0 ADLOP: ADD AL,BL ADC AH,0 DEC CL JNZ ADLOP HLT
12
因篇幅问题不能全部显示,请点此查看更多更全内容