用7ch中断例程完成jmp near ptr s指令的功能,用bx向中断例程传送转移位移。
应用举例:在屏幕的第12行,显示data段中以0结尾的字符串。
assume cs:code data segment
db 'conversation',
data ends code segment start:
mov ax, data
mov ds, ax
mov si,
mov ax, 0b800h
mov es, ax
mov di, * s:
cmp byte ptr [si],
je ok
mov al, [si]
mov es:[di], al
inc si
add di,
mov bx, offset s-offset ok
int 7ch ok:
mov ax, 4c00h
int 21h code ends
end start
安装程序
assume cs:code code segment start:
mov ax, cs
mov ds,ax
mov si,offset do0
mov ax,
mov es,ax
mov di,200h
mov cx,offset do0end-offsetdo0
cld
rep movsb mov ax,
mov es,ax
mov word ptr es:[7ch*],200h
mov word ptr es:[7ch*+], mov ax,4c00h
int 21h do0:
push bp
mov bp,sp
add [bp+],bx pop bp
iret mov ax,4c00h
int 21h do0end:
nop code ends
end start
用7ch中断例程完成jmp near ptr s指令的功能,用bx向中断例程传送转移位移。的更多相关文章
- 汇编程序44:检测点13.1 (jmp near ptr 标号指令的中断例程)
安装程序: assume cs:code //jmp near ptr 标号指令的替代实现,使用iret指令 code segment start: mov ax,cs mov ds,ax mov s ...
- 关于8086中的jmp near ptr原理
在8086汇编语言中.jmp 0x7c41 自己跳转到自己的位置,是一个死循环代码.对应的机器指令是e9fdffe9是跳转 fdff其实应该是fffd 也就是-3的补码. 执行到e9fdff相当于把 ...
- 转移指令jmp和跳转指令call
[-1]写在前面 以下内容文字描述来自于 王爽老师的<汇编语言>教材,建议大家都买一本,哈哈.不是我打广告,确实人家写的好,应该支持.我只是附上了自己的图片和理解而已. [0]先上干货 只 ...
- 汇编:jmp系列跳转指令总结
助记方法: J:跳转C: 进位位置位N: 否S: 符号位置位o: 溢出位置位Z: 零标志位置位E: 等于P:奇偶位置位A: AboveB: BelowL: Less (Little的比较级)G: Gr ...
- LPC1768外部中断与GPIO中断
LPC1768的外部中断严格来说只有四个,分别是EINT0,EINT1,EINT2,EINT3,技术手册上有如下说明 控制这四个外部中断靠以下寄存器 这三个寄存器的0 1 2 3位分别代表中断的0 1 ...
- AVR 嵌入式单片机芯片的中断系统介绍
body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...
- Linux中断概述
中断和异常 1.1中断的由来及实质 Linux内核要管理计算机上的硬件设备,首先要和他们通信.而处理器的速度跟外围硬件设备的速度往往不在一个数量级上,因此,如果内核采取让处理器向硬件发出一个请求,然后 ...
- 【STM32H7教程】第33章 STM32H7的定时器应用之TIM1-TIM17的中断实现
完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第33章 STM32H7的定时器应用之TIM1-T ...
- x86汇编指令详解
80x86指令系统 80x86指令系统,指令按功能可分为以下七个部分. (1) 数据传送指令. (2) 算术运算指令. (3) 逻辑运算指令. (4) 串操作指令. (5) 控制转移指令. (6) 处 ...
随机推荐
- Git世界历险记
Git-版本管理器 Git ||属于分散型版本管理系统,是为版本管理而而设计的软件.(Linux的创始人Linus Torvalds在2005年开发了Git的原型程序,在此之前人们大多选用Subve ...
- Android几种视频播放方式,VideoView、SurfaceView+MediaPlayer、TextureView+MediaPlayer,以及主流视频播放器开源项目
简单的说下一Android的几种视频播放功能: 1.VideoView:最简单的视频播放 <FrameLayout xmlns:android="http://schemas.andr ...
- vue分页效果
js部分 <script src="....js/vue.js"></script> <script src="..../js/vue-re ...
- ReentrantLock原理
ReentrantLock主要利用CAS+CLH队列来实现.它支持公平锁和非公平锁,两者的实现类似. CAS:Compare and Swap,比较并交换.CAS有3个操作数:内存值V.预期值A.要修 ...
- mysql修改root密码及修改密码过程中报错的解决方案
参考网站: https://www.linuxidc.com/Linux/2018-05/152586.htmhttps://www.cnblogs.com/wangbaobao/p/7087032. ...
- jQuery人民币转大写,C#人命币转大写
jQuery人民币转大写 function convertCurrency(money) { //汉字的数字 var cnNums = new Array('零', '壹', '贰', '叁', '肆 ...
- jersey 用FastJson替换掉默认的Jackson
@Bean public ResourceConfig resourceConfig() { ResourceConfig resourceConfig = new ResourceConfig(); ...
- centos nginx配置https
1.获取https证书: 用的阿里的免费证书: 参考:https://blog.csdn.net/chandoudeyuyi/article/details/71246255 2.修改nginx配置文 ...
- centos7配置网易yum源
部分参考centos6: https://blog.csdn.net/jinzhencs/article/details/53673999 下载yum: https://www.cnblogs.co ...
- C罗转会尤文图斯
皇家马德里头号球星C罗转会意甲尤文图斯,结束了9年的皇马生涯,已获得5座金球奖.