运城手机网站制作,厦门市建设与管理局 官方网站,wordpress英文站源码,wordpress广告代码汇编语言王爽第四版17.3节完整程序#xff0c;可调试#xff0c;可运行。
最基本的字符串输入程序#xff0c;具备以下功能#xff1a; 1、在输入的同时需要显示这个字符串#xff1b; 2、输入回车符后#xff0c;一个字符串的输入结束#xff1b; 3、能够删除已经输入…汇编语言王爽第四版17.3节完整程序可调试可运行。
最基本的字符串输入程序具备以下功能 1、在输入的同时需要显示这个字符串 2、输入回车符后一个字符串的输入结束 3、能够删除已经输入的字符。
完整程序代码如下可运行可调试
assume cs:code,ds:datadata segmentkeys db 256 dup(0)data endscode segmentstart:mov ax,datamov ds,axmov dh,10
s: mov si,offset keysmov di,simov dl,12call getStrinc dhcmp byte ptr [di],qjne scmp byte ptr [di1],0je exitjmp s
exit:mov ax,4c00hint 21hgetStr:push ax
getStrLoop:mov ah,0int 16hcmp al,20hjb getStrCtrlmov ah,0call charStackmov ah,2call charStackjmp getStrLoop
getStrCtrl:cmp ah,0ehje getStrBackcmp ah,1chje getStrEnterjmp getStrLoop
getStrBack:mov ah,1call charStackmov ah,2call charStackjmp getStrLoop
getStrEnter:mov al,0mov ah,0call charStackmov ah,2call charStackmov ah,3call charStackpop axretcharStack:
; 功能字符栈的入栈、出栈和显示
; 参数(ah)功能号0表示入栈1表示出栈2表示显示, 3表示初始化
; ds:si指向字符栈空间
; 对于0号功能(al)入栈字符
; 对于1号功能(al)返回的字符
; 对于2号功能(dh)、(dl)字符串在屏幕上显示的行、列位置。jmp short charStarttable dw charPush, charPop, charShow, charInittop dw 0 ;栈顶
charStart:push bxpush dxpush dipush escmp ah,3ja charRetmov bl,ahmov bh,0add bx,bxjmp word ptr table[bx]charPush:mov bx,topmov [si][bx],alinc topjmp charRetcharPop:cmp top,0jbe charRetdec topmov bx,topmov al,[si][bx]jmp charRetcharShow:mov bx,0b800hmov es,bxmov al,160mul dhmov di,axadd dl,dlmov dh,0add di,dxmov bx,0
charLoop:cmp bx,topjne charNextmov byte ptr es:[di], jmp charRet
charNext:mov al,[si][bx] mov es:[di],almov byte ptr es:[di1],2mov byte ptr es:[di2], inc bxadd di,2jmp charLoop
charInit:mov top,0charRet:pop espop dipop dxpop bxret code endsend start编译、运行
C:\masm pg02;
C:\link pg02;
C:\pg02
C:\界面操作
1、输入的字符串将在屏幕10行12列位置显示
2、可以用退格键删除末尾的字符
3、回车键结束当前字符串
4、从下一行开始进行下一个字符串的输入
5、输入qCR即字符q回车键就可以退出程序。运行效果如下图所示
全文完