编程题

简介: 7.一个采用查询方式输出数据的 I/O 接口中,8 位数据端口地址为 2000H,1 位状态端口地址为 2002H,外设状态位用 D0 传送,高电平表示数据准备好。设 1000个字节数据存在内存 BUFFER 为首地址的缓冲区中,写出查询方式输出 1000 个字节数据的程序段。LEA SI,BUFFERMOV CX,1000P: MOV DX,2002HL: IN AL,DXTEST AL,01HJZ LMOV DX,2000HMOV AL,[SI]OUT DX,ALINC SILOOP PHLT8.编写完整程序,将键盘输入的小写字母转换成大写字母并输出显示,直

7.一个采用查询方式输出数据的 I/O 接口中,8 位数据端口地址为 2000H,1 位
状态端口地址为 2002H,外设状态位用 D0 传送,高电平表示数据准备好。设 1000
个字节数据存在内存 BUFFER 为首地址的缓冲区中,写出查询方式输出 1000 个
字节数据的程序段。
LEA SI,BUFFER
MOV CX,1000
P: MOV DX,2002H
L: IN AL,DX
TEST AL,01H
JZ L
MOV DX,2000H
MOV AL,[SI]
OUT DX,AL
INC SI
LOOP P
HLT
8.编写完整程序,将键盘输入的小写字母转换成大写字母并输出显示,直到输入
字符‘$’结束。如果输入的不是小写字母时要显示错误提示‘PLEASE INPUT
AGAIN!’。
DATA SEGMENT
ERRMSG DB 'PLEASE INPUT AGAIN!',0DH,0AH,'$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
AGAIN:MOV AH,1
INT 21H
CMP AL,'$'
JE EXIT
CMP AL,'a'
JB ERROR
CMP AL,'z'
JA ERROR
SUB AL,20H
MOV DL,AL
MOV AH,2
INT 21H
JMP AGAIN
ERROR:LEA DX,ERRMSG
MOV AH,9
INT 21H
JMP AGAIN
EXIT:MOV AH,4CH
INT 21H
CODE ENDS
END START

相关文章
|
5月前
|
算法 C++
2023_7_21编程题
2023_7_21编程题
39 0
|
9月前
|
设计模式 算法 安全
给大家推荐10本最优秀的编程书
给大家推荐10本最优秀的编程书
332 0
|
程序员 Ruby
松本行弘:我的编程人生
松本行弘:我的编程人生
197 0
松本行弘:我的编程人生
|
Web App开发 移动开发 前端开发
Day 26: TogetherJS —— 让我们一起来编程!
今天的《30天学习30种新技术》挑战,我打算学习一个源自Mozilla的很酷的JavaScript库——TogetherJS。几个月前,我写过一个面向Java 8的在线Java编辑器。今天我将学习如何使用TogetherJS来给这个应用增加协作功能。
179 0
Day 26: TogetherJS —— 让我们一起来编程!
|
程序员 测试技术 API
循序渐进学编程
软件开发人员是一个日新月异的领域—–IT中的大师,今天的编程方式与明天的编程或许截然不同,技术在不断地革新,新语言、新平台的如雨后春笋般出现、更好的解决方案的冒出,因此我们需要跟得上节奏,我们别无选择,唯有努力提高自己。
124 0
循序渐进学编程
为什么学编程
知识在于点滴积累
726 0