`
文章列表
保护模式运行环境配置(第三章) 注意: 1)保证已将freedos.img(将附件中freedos-img.tar.gz解压后,将其中a.img改名为freedos.img)放到Desktop/OSImpl/bochs-2.4.6/中了 2)这里以第三章chapter3/a/pmtest1b.asm为例——“实模式跳转到保护模式,写显存显示字符”   (chapter3/a/pmtest1b.asm与书上的chapter3/a/pmtest1.asm区别在于:将第8行org 07c00h改为org 0100h;       汇编为     pmtest1b.com而非pmtest1b.bin ...
lodsb、stosb(和lodsw、stosw和lodsd、stosd指令) -->lodsb 指令:从esi 指向的源地址中逐一读取一个字符,送入AL 中; (然后,可以先判断这个字符是什么字符,如0dh,0ah 之类等,再执行相应的操作); -->stosb 指令:一般跟随在lodsb 指令后面,将AL 中的字符逐一写入edi 指向的目的地址; 当方向标志位D=0时,则esi自动增加;D=1时,esi自动减小。 类似有:  -->如果是lodsw ,表明要处理的是字,而不是字符;则采用的相应指令是:stosw ;那么要判断的寄存器是AX,而不是AL 了. --> ...
8086/8088,80286,80386的CPU寄存器 1、Intel8086/8088 CPU共14个16位寄存器 1)通用寄存器(8个): AX 累加器 Accumulator BX 基址寄存器 Base Register CX 计数寄存器 Count Register DX 数据寄存器 Data Register SP 堆栈指针 Stack Pointer BP 基址指针 Base Pointer SI 源变址寄存器 Source Index Register DI 目的变址寄存器 Destination Index Register 2)控制寄存器(2个): IP 指令指针 I ...
1、安装nasm和vgabios:[hadoop@sam1 /]$ su root Password: [root@sam1 /]# yum install nasm ...[root@sam1 /]# yum install vgabios ... 注意:bochs需要依赖vgabios安装的东西/usr/share/vgabios/VGABIOS-lgpl-latest.bin,所以vgabios需要先安装! 2、安装可调试版bochs(从源代码安装): 注意:我先开始尝试安装Bochs 2.6等新版本都会出问题,最后还是安装了书上提到的bochs 2.3.5,configure/m ...
一、Linux汇编介绍 1、DOS和Linux汇编主要不同的地方 DOS汇编中,大部分工作依靠21号中断(int 21h,DOS中断子程序)来完成,并且BIOS服务中断用int 10h(BIOS中断-显示器输出中断调用)和int 16h(BIOS中断-键盘输入中断调用);在linux中,所有的函数通过linux系统调用最终被内核处理,并且通过int 80h陷入内核代替用户空间执行,这称为linux的软中断。linux的系统调用比DOS更少但更实用。 linux是一个32位保护模式编程系统,因此我们能处理真正的现代的32位汇编,32位代码运行在flat(平板)内存模型,其基本意思就是你根本不用 ...

test指令

首先我们来学习test指令。    test指令在每对操作数的对应数据位之间进行隐含的“与”操作,并设置标志位,但不修改目的操作数。这点和cmp指令有点相似。   test指令与and指令的操作数格式相同。 格式:    test 寄存器,寄存 ...
Global site tag (gtag.js) - Google Analytics