【汇编综合应用】大小写字母的转换、2号、9号和10号DOS系统功能调用、分支、循环程序结构、子程序、寄存器传递参数,宏定义、宏调用,观察宏展开。

实验内容

编程实现:用10号DOS功能调用从键盘输入一串大小写字母到BUF为首址的缓冲区中,然后将其中的小写字母换成大写字母,原大写字母不变,仍然放入本缓冲区,再将该字符串内容在显示器上显示,且以十六进制形式显示实际输入的字符数。
要求:
1.用9号DOS功能调用输出一些提示信息,并用子程序实现十六进制数的输出,以BX作为传送参数的寄存器。
2.9、10号DOS系统功能调用以及回车换行的功能均用宏指令来实现。

代码

crlf macro	
	mov dl,0dh
	mov ah,2	
	int 21h
	mov dl,0ah 
	int 21h 
	endm 
display1 macro buf1
	lea dx,buf1
	mov ah,9
	int 21h
	endm
display2 macro buf2
	lea dx,buf2
	mov ah,10
	int 21h
	endm
DATAS SEGMENT
    message1 db "Please press any keys:",0dh,0ah,'$'
    message2 db 0dh,0ah,"string number:$"
    message3 db "H$"
    buf label byte
    maxlen db 32
    actlen db ?
    string db 32 dup(?) 
DATAS ENDS
	
CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS
START:
    MOV AX,DATAS
    MOV DS,AX
    display1 message1
    display2 buf
    mov bl,actlen;将实际长度存放到BX中去
    mov bh,0;
    mov string[bx],'$';输
  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值