怎么用汇编键入一个字符串,然后把它输出来???
我想用INT21中的0AH功能输入,然后再用INT21中的09H输出来,我要怎么写这些代码了???...
我想用INT 21中的0AH功能输入,然后再用INT 21中的09H输出来,我要怎么写这些代码了???
展开
1个回答
展开全部
试看这个是否满足你的要求,能够进行屏幕控制和有提示信息
.model small
.386
.stack 400h
.data
buffer db 80,0,80 dup(0) ;80是预先定义要输入的
;个数,0是实际输入的个
; 数
tishi db 'Please input the string:','$'
shuchu db 'The output result is:','$'
;宏定义
screencontrol macro do ;进行屏幕的控制
mov ah,2 ;置光标
mov bh,0
mov dl,12 ;列号
int 10h ;BIOS调用
lea dx,do
mov ah,9 ;显示字符串
int 21h
endm
.CODE
START:
mov ax,@data
mov ds,ax
mov es,ax
mov dh,7 ;行号
screencontrol tishi
lea si,buffer
mov dx,si
mov ah,0ah
int 21h
mov dh,9 ;行号
screencontrol shuchu
mov bx,[si+1] ;存放实际的个数
and bx,000ffh
mov [si+bx+2],'$' ;在最后加上'$'
mov dx,si
add dx,2 ;字符串的首地址
mov ah,9 ;显示字符串
int 21h
mov ah,1 ;暂停,任意键关闭
int 21h
mov ah,4ch
int 21h
end start
.model small
.386
.stack 400h
.data
buffer db 80,0,80 dup(0) ;80是预先定义要输入的
;个数,0是实际输入的个
; 数
tishi db 'Please input the string:','$'
shuchu db 'The output result is:','$'
;宏定义
screencontrol macro do ;进行屏幕的控制
mov ah,2 ;置光标
mov bh,0
mov dl,12 ;列号
int 10h ;BIOS调用
lea dx,do
mov ah,9 ;显示字符串
int 21h
endm
.CODE
START:
mov ax,@data
mov ds,ax
mov es,ax
mov dh,7 ;行号
screencontrol tishi
lea si,buffer
mov dx,si
mov ah,0ah
int 21h
mov dh,9 ;行号
screencontrol shuchu
mov bx,[si+1] ;存放实际的个数
and bx,000ffh
mov [si+bx+2],'$' ;在最后加上'$'
mov dx,si
add dx,2 ;字符串的首地址
mov ah,9 ;显示字符串
int 21h
mov ah,1 ;暂停,任意键关闭
int 21h
mov ah,4ch
int 21h
end start
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询