编程题-微机原理与接口

简介: 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

相关文章
|
4月前
|
数据采集 数据处理 C语言
单片机:探索其原理、应用与编程实践
单片机:探索其原理、应用与编程实践
64 1
|
存储 程序员
《微机原理与接口技术》简答题总结(一)
《微机原理与接口技术》简答题总结
646 0
《微机原理与接口技术》简答题总结(一)
|
4月前
|
监控 Linux 定位技术
Linux应用开发基础知识——串口应用编程(十一)
Linux应用开发基础知识——串口应用编程(十一)
118 0
Linux应用开发基础知识——串口应用编程(十一)
|
芯片
汇编语言与微机接口课程设计-多功能电子钟
汇编语言与微机接口课程设计-多功能电子钟
308 0
汇编语言与微机接口课程设计-多功能电子钟
|
缓存
蓝桥杯之单片机学习(十一)——串口通信的基本原理与应用
蓝桥杯之单片机学习(十一)——串口通信的基本原理与应用
371 0
蓝桥杯之单片机学习(十一)——串口通信的基本原理与应用
编程题微机原理与接口
2.实现多字节加法,将 A(A776139FH)+B(C0159471H)求和,结果存入 C 连续 的单元中。 DATA SEGMENT A DB 0A7H,76H,13H,9FH B DB 0C0H,15H,94H,71H C DB 5 DUP(0) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX LEA DI,A+3 ;获取 A 内存单元末地址 LEA SI,B+3 ;获取 B 内存单元末地址 LEA BX,C+4 ;获取 C 内存单元末地址 AND AX,AX MOV CX,4 AGAIN
81 0
|
芯片
微机原理接口 编程题
第六类、编码转换 1.把 2 位压缩的 BCD 码变成十进制数。 DATA SEGMENT X DB 32H Y DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV CL,4 MOV AL,X SHR AL,CL MOV BL,10 MUL BL MOV BH,X AND BH,0FH ADD AL,BH MOV Y,AL MOV AH,4CH INT 21H CODE ENDS END START 第七类、芯片控制 1.某 8253 的端口地址为 84H~87H,其中,87H 为
101 0
编程题 微机原理与接口
9.将 BX 寄存器的 16 进制内容输出到屏幕上,假设 BX=1A2BH。 CODE SEGMENT ASSUME CS:CODE START:MOV BX,1A2BH MOV CH,4 NEXT:MOV CL,4 ROL BX,CL MOV DL,BL AND DL,0FH CMP DL,10 JB JB10 ADD DL,7 JB10:ADD DL,30H MOV AH,2 INT 21H DEC CH JNZ NEXT MOV AH,4CH INT 21H CODE ENDS END START 第三类、数值计算 1.已知 AX 中存放的是有符号数-5,实现((AX)×5+14)/2,
76 0
微机原理与接口编程题
第四类、看图编程 1.某系统外接电路如图,8255A 口地址为 2F0H~2F3H,请设计源程序,一次性的 测试开关的位置,当 K 闭合时,LED 亮,K 断开时 LED 灭(提示:C 口高 4 位应为 方式 0 输入,低 4 位为方式 0 输出)。 CODE SEGMENT ASSUME CS:CODE START:MOV DX,2F3H ;控制口端口地址 MOV AL,88H ;工作方式控制字 OUT DX,AL MOV DX,2F2H ;C 口的端口地址 IN AL,DX ;读取 C 口的状态 TEST AL,80H ;测试 PC7 JNZ L1 MOV AL,00H ;PC7=0,开关
271 0
编程题-微机原理与接口
2.首地址为 DAT 的数据区中有 3 个互不相等的 8 位无符号整数,请编写完整程 序,将这 3 个数的最大值存放到 MAX 单元。 DATA SEGMENT DAT DB 6,7,8 MAX DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV AL,DAT+0 ;AL←06H MOV BL,DAT+1 ;BL←07H MOV CL,DAT+2 ;CL←08H L1:CMP AL,BL JA L2 ;AL 中的数据高于 BL 中的数据则跳转 XCHG AL,BL L2:CMP A
140 0