编程题微机原理与接口

简介: 2.实现多字节加法,将 A(A776139FH)+B(C0159471H)求和,结果存入 C 连续的单元中。DATA SEGMENTA DB 0A7H,76H,13H,9FHB DB 0C0H,15H,94H,71HC DB 5 DUP(0)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXLEA DI,A+3 ;获取 A 内存单元末地址LEA SI,B+3 ;获取 B 内存单元末地址LEA BX,C+4 ;获取 C 内存单元末地址AND AX,AXMOV CX,4AGAIN

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:MOV AL,[DI]
ADC AL,[SI]
MOV [BX],AL
DEC DI
DEC SI
DEC BX
LOOP AGAIN
MOV AL,0 ;看结果是否有进位
RCL AL,1
MOV [BX],AL
MOV AH,4CH
INT 21H
CODE ENDS
END START
3.设在 A、B 和 C 单元中分别存放着三个数。若三个数都不是 0,则求出三数之
和存放在 D 单元中;若其中一个数为 0,则把其它两单元也请 0。请编写源程序。
DATA SEGMENT
A DW 2
B DW 5
C DW 6
D DW 0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
CMP A,0
JE NEXT
CMP B,0
JE NEXT
CMP C,0
JE NEXT
MOV AX,A
ADD AX,B
ADD AX,C
MOV D,AX
JMP EXIT
NEXT:MOV A,0
MOV B,0
MOV C,0
EXIT: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
蓝桥杯之单片机学习(十一)——串口通信的基本原理与应用
|
存储 物联网 Java
Java面向对象程序设计综合练习2(编程题)(下)
Java面向对象程序设计综合练习2(编程题)(下)
480 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
编程题-微机原理与接口
5.用查询方式的打印机接口如图:已知 8255A 的 A 口作为输出打印的数据口, 工作于方式 0,PC 口高 4 位工作于输出方式,PC6 产生 STB 信号,PC 口低 4 位 工作于输入方式,PC2 接收打印机的 BUSY 信号。设打印字符存放在数据段中有 效地址为 1000H 的内存单元。请设计打印程序。(8255A 的端口地址位 80H~83H) CODE SEGMENT ASSUME CS:CODE START:MOV AL,81H OUT 83H,AL ;8255A 初始化 MOV AL,0DH OUT 83H,AL ;设置 PC6=1,选通无效 AGAIN:IN AL,82H
136 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
编程题-微机原理与接口
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