汇编:常用的输入与输出

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
相关推荐
aq55356001 天前
Laravel2.x:被遗忘的PHP框架遗珠
开发语言·汇编·c#
lhbian2 天前
C# vs 汇编:编程世界的两极对比
开发语言·汇编·c#
zopple2 天前
汇编、C、C++和Java核心技术对比
c语言·汇编·c++
aq55356003 天前
Laravel7.x重磅升级:十大新特性解析
开发语言·汇编·c#·html
aq55356005 天前
三大编程语言深度对比:C# vs 易语言 vs 汇编
开发语言·汇编·c#
aq55356005 天前
编程语言对比:从汇编到PHP的四大层级解析
开发语言·汇编·php
独小乐7 天前
012.整体框架适配SDRAM|千篇笔记实现嵌入式全栈/裸机篇
c语言·汇编·笔记·单片机·嵌入式硬件·arm·gnu
C++ 老炮儿的技术栈8 天前
GCC编译时无法向/tmp 目录写入临时汇编文件,因为设备空间不足,解决
linux·运维·开发语言·汇编·c++·git·qt
cch89188 天前
Java vs 汇编:高级与低级的终极对决
java·开发语言·汇编
2301_789015628 天前
C++:智能指针
c语言·开发语言·汇编·c++·智能指针