汇编程序44:检测点13.1 (jmp near ptr 标号指令的中断例程)
2024-09-06 02:28:38
安装程序:
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
最新文章
- 常用RGB色值表
- OpenCASCADE Gauss Integration
- php不解析的排查步骤
- ASIHttpRequest addRequestHeader的处理
- HDU 4513 吉哥系列故事——完美队形II
- 通过scrollerview自定义collectionview(常用于推荐关注界面)
- 让ASP.NET MVC页面返回不同类型的内容
- shell脚本修复MySQL主从同步
- android 17 activity生命周期
- nginx 环境搭建使用之入门
- Android开发之SoundPool使用具体解释
- hdu 2066 一个人的旅行 最短路径
- 第18天	ajax技术和javascript加强(json)
- 从零开始学Axure原型设计(进阶篇)
- Spark结构式流编程指南
- Redis之Zset
- How to get Pycharm
- Sort Array By Parity II LT922
- Shell中while循环的done 后接一个重定向<;
- java远程工具类