汇编语言王爽第四版17.3完程可运行可调试

汇编语言王爽第四版17.3节完整程序,可调试,可运行。

最基本的字符串输入程序,具备以下功能:
1、在输入的同时需要显示这个字符串;
2、输入回车符后,一个字符串的输入结束;
3、能够删除已经输入的字符。

完整程序代码如下,可运行,可调试:

assume cs:code,ds:data

data segment

	keys db 256 dup(0)

data ends

code segment

start:
	mov ax,data
	mov ds,ax
	mov dh,10
s:	
	mov si,offset keys
	mov di,si
	mov dl,12
	call getStr
	inc dh
	cmp byte ptr [di],'q'
	jne s
	cmp byte ptr [di+1],0
	je exit
	jmp s
exit:
	mov ax,4c00h
	int 21h
		
getStr:
	push ax
getStrLoop:
	mov ah,0
	int 16h
	cmp al,20h
	jb getStrCtrl
	mov ah,0
	call charStack
	mov ah,2
	call charStack
	jmp getStrLoop
getStrCtrl:
	cmp ah,0eh
	je getStrBack
	cmp ah,1ch
	je getStrEnter
	jmp getStrLoop
getStrBack:
	mov ah,1
	call charStack
	mov ah,2
	call charStack
	jmp getStrLoop
getStrEnter:
	mov al,0
	mov ah,0
	call charStack
	mov ah,2
	call charStack
	mov ah,3
	call charStack
	pop ax
	ret

charStack:
; 功能:字符栈的入栈、出栈和显示
; 参数:(ah)=功能号,0表示入栈,1表示出栈,2表示显示, 3表示初始化
; 		ds:si指向字符栈空间
;		对于0号功能:(al)=入栈字符
; 		对于1号功能:(al)=返回的字符
; 		对于2号功能:(dh)、(dl)=字符串在屏幕上显示的行、列位置。
	jmp short charStart
	table 	dw	charPush, charPop, charShow, charInit
	top		dw	0		;栈顶
charStart:
	push bx
	push dx
	push di
	push es
	
	cmp ah,3
	ja charRet
	mov bl,ah
	mov bh,0
	add bx,bx
	jmp word ptr table[bx]

charPush:
	mov bx,top
	mov [si][bx],al
	inc top
	jmp charRet

charPop:
	cmp top,0
	jbe charRet
	dec top
	mov bx,top
	mov al,[si][bx]
	jmp charRet

charShow:
	mov bx,0b800h
	mov es,bx
	mov al,160
	mul dh
	mov di,ax
	add dl,dl
	mov dh,0
	add di,dx

	mov bx,0
charLoop:
	cmp bx,top
	jne charNext
	mov byte ptr es:[di],' '
	jmp charRet
charNext:
	mov al,[si][bx]	
	mov es:[di],al
	mov byte ptr es:[di+1],2
	mov byte ptr es:[di+2],' '
	inc bx
	add di,2
	jmp charLoop
charInit:
	mov top,0

charRet:
	pop es
	pop di
	pop dx
	pop bx
	ret 

code ends

end start

编译、运行:

C:\>masm pg02;
C:\>link pg02;
C:\>pg02
C:\>

界面操作:

1、输入的字符串将在屏幕10行12列位置显示;
2、可以用退格键删除末尾的字符;
3、回车键结束当前字符串;
4、从下一行开始进行下一个字符串的输入;
5、输入:q<CR>,即字符'q'+回车键,就可以退出程序。

运行效果如下图所示
汇编语言王爽第四版17.3完程

(全文完)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
汇编语言第四pdf》是一本经典的汇编语言教材,由所著。汇编语言是一种低级别的计算机语言,也是了解和学习计算机底层工作原理的重要一步。这本教材第四在第三的基础上进行了修订和更新,根据最新的计算机技术发展趋势进行了相应的调整。 这本教材主要内容包括汇编语言的基本概念和原理,如数据类型、地址和寻址模式、指令系统等。同时,还介绍了常见的汇编语言开发工具和调试技术,帮助读者更好地理解和应用汇编语言。 这本教材的特点之一是注重实践,通过大量的实例和练习帮助读者深入理解和掌握汇编语言编程技巧。此外,教材还提供了详细的步骤和演示,帮助读者成各种实际应用程序的开发,如数值运算、字符串处理、输入输出等。 《汇编语言第四pdf》适合计算机相关专业的学生和从事底层开发工作的人士使用,有助于培养对计算机底层原理的深入理解和应用能力。对于想要深入学习计算机体系结构和汇编语言的人来说,这本教材是一本不可或缺的学习资料。 综上所述,《汇编语言第四pdf》是一本经典的汇编语言教材,内容全面、实用,适合计算机相关专业的学生和从事底层开发工作的人士使用,能够帮助他们深入学习汇编语言的原理和技术,并应用于实际的开发项目中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ycjnx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值