汇编中的各种中断有什么区别?
答案:5 悬赏:0 手机版
解决时间 2021-01-16 08:24
- 提问者网友:流星是天使的眼泪
- 2021-01-15 21:02
汇编中的各种中断有什么区别?
最佳答案
- 五星知识达人网友:轻熟杀无赦
- 2021-01-15 21:42
服务跳转,windows 内置的跳转指令。去看看汇编 Dos下的指令集!
mov al,02h
int 21h
mov al,09h ;是单个字符输出,可以以ASCII码输出
int 21h
mov al,4ch ;是字符串输出但是注意字符串要用$结束
int 21h
mov al,02h
int 21h
mov al,09h ;是单个字符输出,可以以ASCII码输出
int 21h
mov al,4ch ;是字符串输出但是注意字符串要用$结束
int 21h
全部回答
- 1楼网友:笑迎怀羞
- 2021-01-16 01:28
02h是单个字符输出
09H是字符串输出
09H是字符串输出
- 2楼网友:一秋
- 2021-01-16 00:37
输出字符、字符串,返回DOS,是AH,看DOS中断手册
- 3楼网友:独钓一江月
- 2021-01-15 23:45
mov al,02h
int 21h
是单个字符输出,可以以ASCII码输出
mov al,09h
int 21h
是字符串输出但是注意字符串要用$结束
mov al,4ch
int 21h
返回DOS命令,code ends前面要加上它 不然要弹出遇到无效的指令的错误,不信你试试。
int 21h
是单个字符输出,可以以ASCII码输出
mov al,09h
int 21h
是字符串输出但是注意字符串要用$结束
mov al,4ch
int 21h
返回DOS命令,code ends前面要加上它 不然要弹出遇到无效的指令的错误,不信你试试。
- 4楼网友:不甚了了
- 2021-01-15 22:48
其实就是高级语言中的各种函数的区别
一部分int中断是系统和BIOS为了方便程序员编程而提供的一些子程序,主要是一些在编程中常用的过程,比如显示字符,文件操作,时间和日期等,这个和高级语言中的函数没什么区别
也有的INT比较特殊比如 INT 8 和 INT 9
INT 8 是时钟中断,每隔一段时间(具体的时间间隔可以用时钟芯片的端口设置)时钟芯片就会触发 INT 8 中断,CPU就会停止当前的任务去处理 INT 8 中断
INT 9 是键盘中断,按下和释放键盘上的按键都会触发这个中断,这个中断的主要任务是从和键盘相连的芯片端口读取键盘扫描码,并存入键盘缓冲区
你写的那几个中断都是调用的DOS提供的21H中断,在这个中断里al是用来选择功能的
很多中断都包含不止一个功能,这种情况就会使用ah来选择具体的第几号功能
有时候在调用之前还需要向其他的寄存器传递数据,那种情况有点类似高级语言的实参传递
写了好多.........
------------------------------------------
楼主你好像弄错了,是用AH选择功能吧?AL有时候是用来返回数据的
我还以为是我的手册错了,刚才试了一下,是AH
一部分int中断是系统和BIOS为了方便程序员编程而提供的一些子程序,主要是一些在编程中常用的过程,比如显示字符,文件操作,时间和日期等,这个和高级语言中的函数没什么区别
也有的INT比较特殊比如 INT 8 和 INT 9
INT 8 是时钟中断,每隔一段时间(具体的时间间隔可以用时钟芯片的端口设置)时钟芯片就会触发 INT 8 中断,CPU就会停止当前的任务去处理 INT 8 中断
INT 9 是键盘中断,按下和释放键盘上的按键都会触发这个中断,这个中断的主要任务是从和键盘相连的芯片端口读取键盘扫描码,并存入键盘缓冲区
你写的那几个中断都是调用的DOS提供的21H中断,在这个中断里al是用来选择功能的
很多中断都包含不止一个功能,这种情况就会使用ah来选择具体的第几号功能
有时候在调用之前还需要向其他的寄存器传递数据,那种情况有点类似高级语言的实参传递
写了好多.........
------------------------------------------
楼主你好像弄错了,是用AH选择功能吧?AL有时候是用来返回数据的
我还以为是我的手册错了,刚才试了一下,是AH
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯