汇编学习-实验十六解析
来源:互联网 发布:手机版淘宝闲鱼在哪里 编辑:程序博客网 时间:2024/05/18 01:00
本来按照书上的流程,自己走了一遍,想着是没有问题。可是死活出现不了预想的结果。
在网上查了一下,发现都有这个问题。原因在call word ptr table[bx]这里,对于解析理解的不是很好,只是在setscreen程序之前加上org 200h就可以了。
而org 200的作用是将该指令以后的内容,全部存放在00;[200]起始的位置上。有点纠结。。。
代码如下:
;install int 7ch to realize the test 16assume cs:codecode segmentstart:;传递int 7ch位置mov ax,0mov es,axmov ax,0200hmov di,axmov ax,csmov ds,axmov si,offset setscreenmov cx,offset setscreenend-offset setscreencld rep movsbmov ax,0mov es,axmov word ptr es:[7ch*4],0200hmov word ptr es:[7ch*4 +2],0mov ah,1mov al,1int 7chmov ax,4c00hint 21h;设置屏幕org 200hsetscreen:jmp short settable dw s1,s2,s3,s4set:push bxcmp ah,3ja setretmov bh,0mov bl,ahadd bx,bxcall word ptr cs:table[bx]mov ax,4c00hint 21hsetret:pop bxiret;清屏,将显存中所有字符设置为空格符s1:push bxpush espush cxmov bx,0b800hmov es,bxmov bx,0mov cx,2000s1s:mov byte ptr es:[bx],' 'add bx,2loop s1spop cxpop espop bxret;设置前景色s2:push bxpush espush cxmov bx,0b800hmov es,bxmov bx,1mov cx,2000;前景色存放在0,1,2位置,由al决定s2s:and byte ptr es:[bx],11111000bor byte ptr es:[bx],aladd bx,2loop s2spop cxpop espop bxret;设置背景色s3:push bxpush espush cxmov cl,4shl al,clmov bx,0b800hmov es,bxmov bx,1mov cx,2000;前景色存放在0,1,2位置,由al决定s3s:and byte ptr es:[bx],10001111bor byte ptr es:[bx],aladd bx,2loop s3spop cxpop espop bxret;向上滚动一行s4:push bxpush espush cxpush dipush simov bx,0b800hmov es,bxmov ds,bxmov si,160;指向第二行mov di,0mov cx,24;屏幕共24行clds4s:push cxmov cx,160rep movsbpop cxloop s4smov si,160*24mov cx,80s4ss:mov byte ptr es:[si],' 'add si,2loop s4sspop sipop dipop cxpop espop bxretsetscreenend:nopcode endsend start
- 汇编学习-实验十六解析
- 汇编学习-实验12解析
- 汇编学习笔记---实验4
- 汇编学习-实验11答案
- 汇编学习(十六)X86汇编学习 (3) 32位保护模式杂谈
- 汇编学习笔记-实验5[2]
- 汇编学习-王爽-实验10的答案
- 汇编实验
- 汇编 实验
- 汇编实验
- 汇编实验
- 十六周实验
- 十六周实验
- 十六周实验
- 十六周实验一
- 汇编学习第零课 实验环境搭建以及寄存器学习
- IOS学习之十六:网络数据的XML解析
- IOS学习之十六:网络数据的XML解析 .
- java管道通信
- hdu1005 Number Sequence(数论)
- java中抽象类与抽象方法的使用问题
- java中的this和super
- 关于java中split的使用
- 汇编学习-实验十六解析
- JS弹出窗口代码大全(详细整理)
- 日志功能:Log4Net的配置与使用:
- Crypto API加密通信流程
- c++异常 连续抛出异常
- hadoop 学习总结2
- 日志功能:Log4Net的配置与使用
- 图像处理与计算机视觉:基础,经典以及最近发展
- weblogic websphere 和 liberty profile 在使用struts2中遇到的URLClassLoader [struts2CleanupFilter]未装入