安装程序:
assume cs:code
//jmp near ptr 标号指令的替代实现,使用iret指令
code segment
start:
mov ax,cs
mov ds,ax
mov si,offset sub1
mov ax,0020h
mov es,ax
mov di,
mov bx,offset sub2 - offset sub1
cld
rep movsb
mov ax,
mov es,ax
mov word ptr es:[7ch*],200h
mov word ptr es:[7ch*+],
mov ax,4c00h
int 21h
sub1:
push bp
mov bp,sp
cmp bx,-32768 //近转移最小值偏移
jl s0 //有符号数小于则转移
cmp bx,32767 //近转移最大值偏移
jg s0 //有符号数大于则转移
add [bp+],bx //加上两转的偏移即可得到转移目标地址
s0:
pop bp
iret
sub2:
nop
code ends end start
 测试程序:
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

汇编程序44:检测点13.1 (jmp near ptr 标号指令的中断例程)的更多相关文章

  1. 汇编程序45:检测点13.2 (loop指令的中断例程)

    安装程序: assume cs:code //loop指令的替代实现 code segment start: mov ax,cs mov ds,ax mov si,offset sub1 mov ax ...

  2. 用7ch中断例程完成jmp near ptr s指令的功能,用bx向中断例程传送转移位移。

    应用举例:在屏幕的第12行,显示data段中以0结尾的字符串. assume cs:code data segment db data ends code segment start: mov ax, ...

  3. 转移指令jmp和跳转指令call

    [-1]写在前面 以下内容文字描述来自于 王爽老师的<汇编语言>教材,建议大家都买一本,哈哈.不是我打广告,确实人家写的好,应该支持.我只是附上了自己的图片和理解而已. [0]先上干货 只 ...

  4. xwalk_core_library-15.44.384 .13.aar 百度云分享

    xwalk_core_library-15.44.384.13.aar 这玩意下载很慢 特意放到百度,需要的可以通过百度下载 http://pan.baidu.com/s/1nt0Cmbn 下完后放到 ...

  5. 关于8086中的jmp near ptr原理

    在8086汇编语言中.jmp 0x7c41 自己跳转到自己的位置,是一个死循环代码.对应的机器指令是e9fdffe9是跳转  fdff其实应该是fffd 也就是-3的补码. 执行到e9fdff相当于把 ...

  6. 王爽 <<汇编 语言>> 13.6 BIOS中断例程应用

    ;名称:ILOVEU程序 ;使用BIOS提供的中断例程 assume cs:code code segment main: ;显示背景22*80 ;dh中放行号 ;dl中放列号 bibi: push ...

  7. 汇编程序52:实验15 安装新的int9中断例程

    assume cs:code ;重写int9中断例程,当按住a后松开,便会产生满屏A stack segment dw dup() stack ends code segment start: mov ...

  8. 汇编:jmp系列跳转指令总结

    助记方法: J:跳转C: 进位位置位N: 否S: 符号位置位o: 溢出位置位Z: 零标志位置位E: 等于P:奇偶位置位A: AboveB: BelowL: Less (Little的比较级)G: Gr ...

  9. call && jmp 指令

    对于jmp指令: (1)jmp short 标号相当于(ip)=(ip)+8位位移 跳转范围是[-128,127](2)jmp near ptr 标号相当于(ip)=(ip)+16位位移 跳转范围是[ ...

随机推荐

  1. ubuntu root用户登陆

    sudo vi /etc/lightdm/lightdm.conf   (如果没有该文件则创建,内容如下) [SeatDefaults] user-session=ubuntu greeter-ses ...

  2. 1.Linux标准IO编程

    1.1Linux系统调用和用户编程接口 1.1.1系统调用 用户程序向操作系统提出请求的接口.不同的系统提供的系统调用接口各不相同. 继承UNIX系统调用中最基本和最有用的部分. 调用按照功能分:进程 ...

  3. mysql数据库变更监控(canal)

    背景: 1. 一些项目的基础功能会有Audit Trace, 以记录系统用户所做过的所有记录. 2. 实时备份数据,比如mysql主从复制,一个用于面向应用,一个用于对应用数据库的实时备份. 3. 实 ...

  4. 关于pom.xml中的dependency中的顺序

    特别注意: <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>l ...

  5. Codeforces Round #249 (Div. 2) 总结

    D.E还是很难的.....C不想多说什么... A:提意:给出每一组人的个数,以及一次车载容量,求出最少需要多少次才能载走所有的人. water: http://codeforces.com/cont ...

  6. noip模拟赛 寻宝之后

    题目背景 还记得NOIP2011的寻宝吗?6年之后,小明带着他的妹子小芳,再次走上了寻宝的道路. 然而这次他们寻宝回来之后,小明被困在了一个迷宫中. 题目描述 迷宫是一个n*m的字符矩阵. 小明在这个 ...

  7. 魔法猪学院(codevs 1835)

    题目描述 Description iPig在假期来到了传说中的魔法猪学院,开始为期两个月的魔法猪训练.经过了一周理论知识和一周基本魔法的学习之后,iPig对猪世界的世界本原有了很多的了解:众所周知,世 ...

  8. Oracle 11.2.0.4.0安装

    http://opensgalaxy.com/2015/08/25/oracle11-2-0-4-0%E5%AE%89%E8%A3%85%E5%8F%8A%E8%A1%A5%E4%B8%81%E8%8 ...

  9. nyoj_123_士兵杀敌(四)_201404131143

    士兵杀敌(四) 时间限制:2000 ms  |  内存限制:65535 KB 难度:5   描述 南将军麾下有百万精兵,现已知共有M个士兵,编号为1~M,每次有任务的时候,总会有一批编号连在一起人请战 ...

  10. Codeforces 314B(倍增)

    题意:[a,b]表示将字符串a循环写b遍,[c,d]表示把字符串c循环写d遍,给定a,b,c,d,求一个最大的p,使得[[c,d],p]是[a,b]的子序列(注意不是子串,也就是不要求连续).(b,d ...