汇编:常用的输入与输出

1.字符输出

使用int 21h中断的02h 号功能可以在屏幕输出一个字符,dl中存放要输出字符的ascii码。

如下代码将在屏幕输出一个字符"a":

cpp 复制代码
        mov   ah,02h
        mov   dl,'a'
        int   21h

2.字符输入

使用int 21h中断的01h 号功能可以接受一个字符,al存放输入字符的ascll码。

如下代码将在等待屏幕输入一个字符:

cs 复制代码
        mov   ah,01h
        int   21h

3.字符串的输出

使用int 21h中断的09h 号功能,ds:dx 为要输出字符串的地址,字符串以**'$'**字符作为结束标志

如下代码将"abcdefg"输出:

数据段中定义字符串:

cpp 复制代码
        str   db   'abcdefg$'

代码段中输出字符串:

cs 复制代码
        mov    dx,offset str
        mov    ah,09h
        int    21h

4.字符串的输入

使用int 21h中断的0ah 号功能等待接收一个字符串,在遇到回车后输入并回显。同样dx:ds为一个存储字符串的缓冲区。

缓冲取要求第一个字节为缓冲区的最大容量 ,第二个字节在接收到字符串后将放置实际输入字符串的大小 ,字符串的内容从第三字节开始。

如下代码等待接收一个字符串:

在数据段中定义一个缓冲区:

cpp 复制代码
        str   db   64, ?, 64 dup('$')

在代码段中等待接收:

cs 复制代码
        mov   dx,offset str
        mov   ah,0ah
        int   21h
相关推荐
学逆向的12 小时前
汇编——函数
开发语言·汇编·网络安全
学逆向的15 小时前
汇编——修改EIP的值
开发语言·汇编·网络安全
学逆向的4 天前
汇编——数据存储模式
开发语言·汇编·网络安全
学逆向的5 天前
汇编——内存
开发语言·汇编·算法·网络安全
学逆向的6 天前
汇编——位运算
开发语言·汇编·算法·网络安全
hai3152475436 天前
九章编译法----空间几何统一编译法
网络·汇编·人工智能·线性代数
想你依然心痛7 天前
自定义RTOS内核:从零实现上下文切换与任务调度——汇编、PendSV
java·开发语言·汇编·pendsv
hai3152475437 天前
九章空间几何对照直译法:通用芯片 / 定制专用芯片 编译适配规则
linux·汇编·bash
JAVA面经实录9179 天前
Linux 常用命令完整知识体系
java·linux·开发语言·汇编
ThornArmor1 个月前
【工具篇·番外】跨语言生态的主权回收:基于 ISA 说明书的 4-bit 双向汇编系统全线封顶
c语言·开发语言·汇编·c++·重构·架构