求救求救!·#¥%……—*()

luxinke007 2003-10-16 08:55:00
键盘接收字符和屏幕显示字符
内容:
编写程序:要求用INT21H的字符串输入输出功能实现:先显示“INPUT:“,然后从键盘输入1~20个字符的字符串(最大为20个字符)。在下一行显示”OUTPUT:“和输入的字符串。重复上面的输入和显示,知道按CTR-C才退出。
提示:根据输入缓冲区中实际输入的字符数,计算出回车符(ODH)的位置,然后在后面加上换行符(OAH)和字符$,再调用字符串输出功能进行输出
...全文
106 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
luxinke007 2003-10-21
  • 打赏
  • 举报
回复
谢谢你的教诲,我很惭愧,接受教训
lzxptc 2003-10-16
  • 打赏
  • 举报
回复
DATA SEGMENT
MSG1 DB "INPUT:$"
MSG2 DB "OUTPUT:$"
KEYBUF DB 20
DB ?
DB 20 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
;段指针初始化
;调用显示功能显示MSG1
;调用键盘输入功能等待输入
;根据缓冲区中第二个字节中的数值计算输入的个数,进行字符替换
;调用显示功能显示MSG2及缓冲区内按键信号
;跳转至第二步继续
;程序结束
zuolihua 2003-10-16
  • 打赏
  • 举报
回复
data segment
string db 23
input db "input:"
output db "output:"
data ends
code segment
assume cs:code ds:data
start:
move ax,data
move ds,ax
circle:
move ah,0ah ;0a还是09显示我忘了,你自己查查
mov dx,offset input
mov [dx],20
int 21h
mov dx, offset input
mov al,09
int 21h
mov dx, offset output
mov al,0ah
int 21h
mov al,[dx+1]
mov ah,0
inc dx,ax+2
mov [dx],0ah
mov [dx+1],'$'
mov dx,offset string+2
mov al,0ah
int 21h
jmp circle
code ends
end start

Areslee 2003-10-16
  • 打赏
  • 举报
回复
楼主不能自己想想吗?本版欢迎问思路,问解决方案,不欢迎求完整代码,尤其是作业
zuolihua 2003-10-16
  • 打赏
  • 举报
回复
up

21,453

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧