编程题-微机原理与接口

简介: 13.编写程序段,将 AX 寄存器中的内容以相反的顺序传送到 DX 寄存器中,并要求 AX 中的内容不被破坏,然后统计 DX 寄存器中“1”的个数并存入 BL 中。CODE SEGMENTASSUME CS:CODESTART:PUSH AXMOV BL,0MOV DX,0MOV CX,16AGAIN:SHL AX,1JNC NEXTINC BLNEXT:RCR DX,1LOOP AGAINPOP AXMOV AH,4CHINT 21HCODE ENDSEND START14.将内存中以 BUF 为首地址的 100 个字节单元中为原码表示的有符号数,依次变

13.编写程序段,将 AX 寄存器中的内容以相反的顺序传送到 DX 寄存器中,并要
求 AX 中的内容不被破坏,然后统计 DX 寄存器中“1”的个数并存入 BL 中。
CODE SEGMENT
ASSUME CS:CODE
START:PUSH AX
MOV BL,0
MOV DX,0
MOV CX,16
AGAIN:SHL AX,1
JNC NEXT
INC BL
NEXT:RCR DX,1
LOOP AGAIN
POP AX
MOV AH,4CH
INT 21H
CODE ENDS
END START
14.将内存中以 BUF 为首地址的 100 个字节单元中为原码表示的有符号数,依次
变成用补码表示的有符号数,仍然依次放在原 100 个字节单元中,请编写完整程
序。
DATA SEGMENT
BUF DB 100 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
LEA BX,BUF
MOV CX,100
NEXT:TEST BYTE PTR [BX],80H ;测试最高位,来判断正负
JZ ZS ;如果是正数,则保持不变
AND BYTE PTR [BX],7FH ;如果是负数,最高位置零
NEG BYTE PTR [BX] ;如果是负数,然后在取补
ZS:INC BX
LOOP NEXT
MOV AH,4CH
INT 21H
CODE ENDS
END START

相关文章
|
芯片 内存技术
第八章 可编程接口芯片及应用【微机原理】1
第八章 可编程接口芯片及应用【微机原理】1
129 0
第八章 可编程接口芯片及应用【微机原理】1
|
存储 芯片
第六章 半导体存储器【微机原理】2
第六章 半导体存储器【微机原理】2
844 0
|
存储 芯片 内存技术
第六章 半导体存储器【微机原理】1
第六章 半导体存储器【微机原理】1
352 0
|
芯片
第八章 可编程接口芯片及应用【微机原理】2
第八章 可编程接口芯片及应用【微机原理】2
211 0
|
存储 程序员
《微机原理与接口技术》简答题总结(一)
《微机原理与接口技术》简答题总结
682 0
《微机原理与接口技术》简答题总结(一)
第六章 半导体存储器【微机原理】3
第六章 半导体存储器【微机原理】3
99 0
第四章 80x86指令系统【微机原理】
第四章 80x86指令系统【微机原理】
67 0
|
芯片
第八章 可编程接口芯片及应用【微机原理】3
第八章 可编程接口芯片及应用【微机原理】3
70 0
|
存储 芯片
微机原理基础知识
微机原理基础知识
247 0
|
芯片
汇编语言与微机接口课程设计-多功能电子钟
汇编语言与微机接口课程设计-多功能电子钟
327 0
汇编语言与微机接口课程设计-多功能电子钟