汇编语言程序设计实验篇emu8086
汇编语言程序设计实验篇emu8086
1.汇编语言程序设计实验篇1.1.汇编系统软件简介Emu8086-Microprocessor Emulator是集源代码编辑器、汇编/反汇编工具以及debug 的模拟器。
它能模拟一台"虚拟"的电脑运行程序,拥有独立的“硬件”,避免访问真实硬件。
该软件兼容Intel的下一代处理器,包括PentiumII、Pentium4。
利用该软件提供的调试工具,能够单步跟踪程序,观察程序执行过程中寄存器、标志位、堆栈和内存单元的内容。
1.1.1创建程序 TEMPLATE程序本章与指令相关的实验都是用COM TEMPLATE类型的程序完成的。
打开emu8086,在“welcome…”对话框中,单击按钮,创建文件。
在“choose code template”对话框中,选择“COM template-simple and tiny executable , pure machine code.”后,单击按钮。
在如所示的编辑界面中,在“;add your code here”部分输入相应的指令,第一条指令默认的偏移地址为100h。
输入全部指令后,单击按钮,保存相应的程序段。
2.EXE TEMPLATE程序本章与DOS功能调用和汇编源程序相关的实验都是用EXE TEMPLATE程序完成的。
打开emu8086,在“welcome…”对话框中,单击按钮,创建文件。
在“choose code template”对话框中,选择“EXE template-advanced executable : relocation, checksum.”后,单击按钮。
在如图所示的编辑界面中,已经可以给出了源程序的框架,包含数据段、堆栈段和代码段的定义以及必要的功能调用等,在“add your data here”和“;add your code here”部分可以分别输入相应的变量定义和指令。
输入全部指令后,单击按钮,保存相应的程序。
微机原理:EMU8086使用及指令系统熟悉
[公司名称]实验一EMU8086使用及指令系统熟悉微机原理上机实验[日期]一、实验要求1.熟悉并掌握EMU8086 汇编语言调试环境;2.学习8086的指令系统,输入简单的指令,观察各寄存器、内存相关单元以及处理器标志位的变化(数据传送类指令,算数运算类指令,逻辑运算类指令,标志处理和CPU控制类指令,移位和循环移位类指令,处理器控制类指令等,要求每类指令至少一个用例。
具体用例自行设计,可参考教材用例);3.学习汇编语言程序设计的基本步骤和方法;4.学会使用EMU8086 debug调试程序;5.编写一个简单的程序:将“This is my first ASM program-姓名(汉语拼音各人的姓名)”放在DS=1000H,BX=0000H开始的存储器单元中,然后将该内容搬移到BX=0100H开始的单元中,最后将该字符串通过DOS功能调用显示在屏幕上。
二、实验目的1.学习EMU8086仿真开发环境的使用,理解和掌握汇编语言编程的基本步骤;2.熟悉8086指令系统;3.熟悉变量、常量及伪指令的使用;4.熟悉内存单元的存储结构,字符串的处理以及简单的编程。
三、实验过程(调试分析)3.1熟悉并掌握EMU8086汇编调试环境此为EMU8086新建汇编源程序的界面,对应有四种模板可以挑选:①COM——无需分段,所有内容均放在代码段中,程序代码默认从ORG 0100H开始②EXE——需要分段,内容按代码段、数据段、堆栈段划分,编译器自动完成空间的分配③BIN——二进制文件,适用于所有用户定义的结构类型④BOOT——适用于在软盘中创建的文件⑤empty workspace可以创建空的文档此为一个EXE的模板3.2测试几类简单的指令3.2.1数据传送指令①测试一name "test mov"org 100hMOV AX, 1234HMOV BH, 12HMOV BL, 34HMOV CX, 12MOV DX, CXMOV SP, AX②测试二name "test mov2"org 100hMOV AX, 2000HMOV DS, AXMOV [1000H], 'A'MOV [1001H], 'B'MOV SI, 1000HMOV AX, [SI]HLT3.2.2算数运算指令计算a*b+c-18其中a=34H, b=56H, c=0E7Hdata segmentDAT1 DB 34HDAT2 DB 56HDAT3 DB 0E7HDATY DW ?endsstack segmentdw 128 dup(0)endscode segmentstart:ASSUME DS:DATA, SS:STACK, CS:CODE MOV AX, STACKMOV SS, AXMOV AX, DATAMOV DS, AXMOV AL, DAT1MOV BL, DAT2IMUL BLMOV BX, AXMOV AL, DAT3CBWADD AX, BXSUB AX, 18MOV DATY, AXendsend start3.2.3逻辑运算指令通过单步调试可以追踪到每一条指令执行所产生的效果,此处指放出最后结果的截图name 'test logic operation'org 100hMOV AX, 45FCHMOV BX, 0034HAND AL, 0FHOR BX, 000FHXOR AH, 0FHNOT BHHLT3.2.4标志处理和CPU控制类指令name 'test control and flags'org 100hCLC;0-->CFCMC;^CF-->CFSTD;1-->DFCLI;0-->IFNOPNOP;blankHLT;pause3.2.5循环和移位类指令name "test circle replacement"org 100hMOV BL, 01110010BSTC;1-->CFMOV CL, 3RCR BL, CLHLT算数移位三次后结果应该为BL=10101110B=AEH3.3编写一个简单的程序实现字符串的储存、搬移和显示①不分段,仅使用代码代码段,使用逐个字符存入name "FIRST PROGRAM"org 100h; set segment register:MOV AX, 1000HMOV DS, AXMOV BX, 0000H; print "This is my first ASM program-YongRongFeng"MOV [02h], 'T'MOV [04h], 'h'MOV [06h], 'i'MOV [08h], 's'MOV [0ah], ' 'MOV [0ch], 'm'MOV [0eh], 'y'MOV [10h], ' 'MOV [12h], 'f'MOV [14h], 'i'MOV [16h], 'r'MOV [18h], 's'MOV [1ah], 't'MOV [1ch], ' 'MOV [1eh], 'A'MOV [20h], 'S'MOV [22h], 'M'MOV [24h], ' 'MOV [26h], 'p'MOV [28h], 'r'MOV [2ah], 'o'MOV [2ch], 'g'MOV [2eh], 'r'MOV [30h], 'a'MOV [32h], 'm'MOV [34h], '-'MOV [36h], 'Y'MOV [38h], 'a'MOV [3ah], 'n'MOV [3ch], 'g'MOV [3eh], 'R'MOV [40h], 'o'MOV [42h], 'n'MOV [44h], 'g'MOV [46h], 'F'MOV [48h], 'e'MOV [4ah], 'n'MOV [4ch], 'g'MOV CX, 38 ; times of moving characters MOV BX, 0002H;move stringmove:MOV AX, [BX]MOV [BX+0100H], AXADD BX, 2LOOP move;print screenMOV BX, 0102HMOV CX, 38print:MOV DL, [BX]MOV AH, 02HINT 21HADD BX, 2LOOP print;return DOSMOV AH, 4CHINT 21Hret②分段并使用字符串输入,字符串显示name "FIRST PROGRAM USE HEX"data segmentHEX DB 'This is my first ASM program-YangRongFeng','$' endsstack segmentdw 128 dup(0)endscode segmentstart:;You need to correspond the segmentASSUME CS:CODE, DS:DATA, SS:STACK MOV AX, STACKMOV SS, AXMOV SP, 100MOV AX, DATAMOV DS, AX;print hex on the screenMOV DX, OFFSET HEXMOV AH, 9INT 21HMOV AH, 4CHINT 21H;return DOSendsend start。
Emu8086与汇编语言教学整合的实践探索
( 1 )机器 相 关 性 . 不 同类 型 的 C P U有 不 同 的 机 器 指 令 系 统 ,汇 编语 言程 序 的 通 用 性 和 可 移 植 性 要 比高 级 语 言 程
发学 生的学习兴趣 , 促进学生有效地学 习, 培养学 牛的 自主 学习能力 , 改善教与学的方式.
调试高级语言程序 难. 首先 , 汇编语言指令涉及到 机器资
源 的细节 , 在训 酞过程 中 , 要清楚 每个资 源的变化情 况. 其 次, 在i 培 4 试过程 中, 不仅要知道每条指 令的执行功 能 , 而且 要清楚它 整个过程 中的作刷. 第i , 高级语言程序 几乎不 显式地使用转移语句 ,但汇编语言程序要用到大量的各类 转移指令 , 这 就相应地增 人了调试程序 的难度 . 第四。 调 试
行整合. 在充分考虑 E mu 8 0 8 6和汇编语言本身 的特点基础上 , 将其与汇编语言教学的方法 、 教学设计 有机整合 , 激发 了学生的学习兴趣 , 促进学生有效地学习, 培养学生的 自主学习能力 , 改善教与学的方式 , 提高了教学效益.
关键 词 : E mu 8 0 8 6 ; 汇 编语 言 ; 整合 ; 教学 方 法 ; 教 学 设计
第3 5 卷第 6 期
2 0 1 4年 1 1 月
喀 什 师 范 学 院学 报
J o u r n a l o f Ka s h g a r T e a c h e r s C o l l e g e
V o 1 . 3 5 NO . 6
NO V . 2 O1 4
的, 它直接使用的资源是计算机 的硬 件, 与高级程序 设计语
【微机原理作业】实验一emu8086软件使用与指令练习
【微机原理作业】实验一emu8086软件使用与指令练习实验一EMU8086 软件使用与指令练习实验目的:进行指令验证,并熟悉EMU8086软件的使用。
注意:MOV AX ,[BX] [SI] 与MOV AX ,[BX+SI] 同等,MOV BP,2 [BX+DI] 与MOV BP,[BX+DI+2] 同等。
连续执行以下指令,填写指令执行结果,并上机验证结果。
M代表存储单元物理地址[Reg]代表寄存器间接寻址的存储单元内容FLAGL代表标志寄存器低字节SRC代表源操作数DST代表目标操作数MOD代表寻址方式填空时:IM代表立即寻址方式DRT代表直接寻址方式R代表寄存器寻址方式RIN代表寄存器间接寻址方式IDX代表变址寻址方式B&IDX代表基址加变址寻址方式。
MOV AX,2000H ;AH=20H MOD=IMMOV DS,AX ;AL=00H DS=2000H MOD=R MOV SS,AX ;SS=2000H AX=2000HMOV BX,2050H ;BH=20H BL=50HMOV SI,BX ;SI=2050HMOV DI,3050H ;DI=3050HMOV SI,DI ;SI=3050HMOV SP,5FFFH ;SP=5FFFHMOV CL,25 ;CL=19H 。
25 为十进制数,下面的64、256均为十进制数。
MOV BL,CL ;BL=19HMOV AH,0F0H ;AH=F0HMOV CH,AH ;CH=F0HMOV BYTE PTR [DI],64 ;[DI]=40H M=23050H SRCMOD=IM MOV WORD PTR [SI],256 ;[SI]=00H [SI+1]=01H M=23050H ;DST MOD=RINMOV DL,[SI+1] ;DL=01H M=23051H SRC MOD=IDX MOV DH,1[SI] ;DH=01H M=23051H SRC MOD=IDX MOV AL,1[SI] ;AL=01H M=23051HMOV WORD PTR [BX] [SI],34H ;[BX+SI]=34H DST MOD=B&IDX;[BX+SI+1]=00 HMOV [BX+SI+4],BX ;[BX+SI+4]=19H M=25069HMOV 2[BX+SI],BX ;DST MOD=B&IDXMOV BP,2[BX+DI] ;BP=2019H M=2506BH SRC MOD=B&IDXMOV [BP][DI],BX ;[BP][DI]=2019H M=25069HMOV AX,[BP][DI] ;AX=2019H M=25069HMOV BL,AL ;BL=19HMOV ES,BX ;ES=2019HPUSH BX ;SP=5FFDH [SP]=19H [SP+1]=20H PUSH DI ;SP=5FFBH [SP]=50H [SP+1]=30H POP CX ;SP=5FFDH CX=3050H POP DX ;SP=5FFFH DX=2019HXCHG AX,BP ;AX=2019H BP=2019HXCHG DH,BL ;DH=19H BL=20HSAHF ;FLAGL=00X0X0X0 AH=20HCMC ;CF= 1LAHF ;FLAGL=00X0X0X1 AH=03HSTD ;DF= 1CLI ;IF=0PUSHF ;SP=5FFDH [SP]=03H [SP+1]=04H CLD ;DF=0 POPF ;SP=5FFFH FLAGL=00X0X0X1NOP ;空指令NOP。
微机原理Emu8086仿真软件实验讲义剖析
实验一显示程序实验1.emu8086介绍Emu8086-Assembler and Microprocessor Emulator是一个可在Windows 环境下运行的8086CPU汇编仿真软件,Emu8086集源代码编辑器,汇编/反汇编工具以及可以运行debug的模拟器(虚拟机器)于一身,它优于一般编译器的地方在于提供了一个虚拟的80x86环境,拥有自己一套独立的“硬件”,可以完成一些纯软件编译器无法完成的功能例如Led显示,交通灯,步进电机等等,而且动态调试(DEBUG)时非常方便一.软件启动启动界面如图1所示,用户可以选择新建文本、程序实例、启动指南、近期文档。
注册的用户名随意,密码112,即可成功。
二.新建文件单击图1中的“New”选项,软件会弹出如图2所示的选择界面。
●COM模板——适用于简单且不需分段的程序,所有内容均放在代码段中,程序代码默认从ORG 0100H开始;●EXE模板——适用于需分段的复杂程序,内容按代码段、数据段、堆栈段划分。
需要注意的是采用该模板时,用户不可将代码段人为地设置为ORG 0100H,而应由编译器自动完成空间分配;●BIN模板——二进制文件,适用于所有用户定义结构类型;●BOOT模板——适用于在软盘中创建文件。
此外,若用户希望打开一个完全空的文档,则可选择empty workspace的选项。
三.编译和加载程序用户可根据上述选择的模板中编写程序,如图3所示。
该编辑界面集文档编辑、指令编译、程序加载、系统工具、在线帮助为一体,其菜单功能如表1所示。
编写完程序后,用户只需单击工具栏上的“compile”按钮,即可完成程序的编译工作,并弹出如图4所示的编译状态界面。
若有错误则会在窗口中提示,若无错误则还会弹出保存界面,让用户将编译好的文件保存相应的文件夹中。
默认文件夹为…\emu8086\MyBuild\,但您可以通过菜单中assembler/ set output directory对默认文件夹进行修改。
Emu8086软件的使用
Emu8086软件的使用一、实验目的:(1)熟悉汇编语言开发环境。
(2)掌握Emu8086软件使用方法。
(3)了解汇编语言的程序结构、调试一个简单的程序。
(4)理解寻址方式的意义。
二、实验内容及要求:1、Emu8086的使用(1)打开桌面上的Emu8086的图标,出现如图所示的对话框,选择【继续……】首次打开软件,界面中默认已有一段小程序。
该程序实现在屏幕上显示三段字符串的功能。
若用户需要自己重新编程,可点击工具栏的【新建】图标,出现如图所示的对话框,选择编程所采用的模板。
选择不同的模板,在程序源代码中会出现如下标记:#MAKE_COM# 选择COM模板#MAKE_BIN# 选择BIN模板#MAKE_EXE# 选择EXE模板#MAKE_BOOT# 选择BOOT模板#MAKE_COM#最古老的一个最简单的可执行文件格式。
采用此格式,源代码应该在100H后加载(即:源代码之前应有ORG 100H)。
从文件的第一个字节开始执行。
支持DOS和Windows命令提示符。
#MAKE_EXE#一种更先进的可执行文件格式。
源程序代码的规模不限,源代码的分段也不限,但程序中必须包含堆栈段的定义。
您可以选择从新建菜单中的EXE模板创建一个简单的EXE程序,有明确的数据段,堆栈段和代码段的定义。
程序员在源代码中定义程序的入口点(即开始执行的位置),该格式支持DOS和Windows命令提示符。
这两种模板是最常用的模板(2)选择COM模板,点击【确定】,软件出现源代码编辑器的界面,如图所示:在源代码编辑器的空白区域,编写如下一段小程序:MOV AX, 5MOV BX, 10ADD AX, BXSUB AX, 1HLT代码编写结束,点击菜单【文件】【另存为……】,将源代码换名保存。
本例将源代码保存为001.asm。
点击工具栏的【模拟】按钮,如果程序有错误不能编译,出现如图所示的界面:点击错误提示,即可选择源代码中相应的错误的行,在此处更改源代码。
emu8086 汇编语言图形绘制
视屏模式的设置,直接写屏技术,中断,调用库函数判断输入值。
画直线、画矩形、画三角形部分需要应用的知识主要有:
将屏幕设置为图形显示模式,中断,循环和判断,布雷森汉姆直线算法,模块化和函数的嵌套
流程图如下:
第二部分
一、
Bresenham直线算法描绘直线
在图形模式下画线需要用到的是布雷森汉姆直线算法。通过维基百科查阅资料了解到布雷森汉姆直线算法的基本知识。
以上特性使其仍是一种重要的算法,并且用在绘图仪、绘图卡中的绘图芯片,以及各种图形程式库。这个算法非常的精简,使它被实作于各种装置的固件,以及绘图芯片的硬件之中。
Bresenham直线算法描绘的直线
假设我们需要由(x0,y0)这一点,绘画一直线至右下角的另一点(x1,y1),x,y分别代表其水平及垂直座标,并且x1-x0>y1-y0。在此我们使用电脑系统常用的座标系,即x座标值沿x轴向右增长,y座标值沿y轴向下增长。
call oblique
;按1返回到start
GOTOXY 10,1
mov dx, offset msg10
mov ah,9
int 21h
CALL SCAN_NUM
MOV AX,1
cmpal,cl
je start
shuxian:;画竖线代码
mov al,13h
mov ah,0
int 10h
pshu:
subdx,bx
pop ax
addcx,ax
因为x及y皆为整数,但并非每一点x所对应的y皆为整数,故此没有必要去计算每一点x所对应之y值。反之由于此线之斜率介乎于1至0之间,故此我们只需要找出当x到达那一个数值时,会使y上升1,若x尚未到此值,则y不变。至于如何找出相关的x值,则需依靠斜率。斜率之计算方法为 。由于此值不变,故可于运算前预先计算,减少运算次数。
实验二 emulator的使用
实验二熟悉8086仿真器emulator的使用一、实验目的:1、熟悉汇编语言程序设计的基本结构,熟悉汇编语言的上机过程。
2、熟悉8086仿真器(emu8086)的使用过程。
二、实验内容:1.用8086仿真器(emu8086)编辑下面的程序1,根据实验步骤汇编成可执行程序,并观察执行结果。
程序1:data segmentm1 db ' Hello,classmate!',13,10,36m2 db ' Let us to learn assembler language!',13,10,36 data endscode segmentassume cs:code,ds:datastart:mov ax,datamov ds,axmov dx,offset m1mov ah,9int 21hmov dx,offset m2mov ah,9int 21hmov ah,4chint 21hcode endsend start2.调试运行附录中的程序,观察结果。
三、实验步骤:1、打开8086仿真器,建立一个空白文档,输入或拷贝事先编制好的源程序。
2、单击emulate(仿真)按钮,可以生成可执行程序,并出现多个窗口分别显示源程序的代码、每行代码对应的机器码、机器码在内存中存放的位置及各个寄存器的内容。
如果源程序有错误,则会在仿真时提示。
3、单击run(运行)按钮可以查看程序执行结果。
注:单击single step(单步执行)按钮可以查看程序每一步的执行情况。
Step back按钮可以查看上一步的执行情况。
四、实验要求调试、运行程序时熟悉8086仿真器的菜单、功能按钮及各部分的功能。
五、实验结果实验结果如图,会正确出现程序运行结果Hello,classmate!'Let us to learn assembler language!六、实验总结经过这次实验,我接触到了8086仿真器,了解到了8086仿真器的基本功能,也通过8086仿真器对于课堂上所学到的内容进行了复习。
实验一-8086汇编语言上机调试及基本操作.
实验一:8086汇编语言上机调试及基本操作(验证性)1、实验目的:(1)掌握常用DEBUG命令: G,D,R,T,U,Q。
(2)掌握工具软件EMU8086。
(3)掌握完整程序设计方法的格式,能正确书写数据段,代码段等。
(4)掌握简单的数值转换算法2、实验说明:计算机中的数值有各种表达方式,这是计算机的基础。
掌握各种数制之间的转换是一种基本功。
3、程序框图:对于0-999(即000H-3E7H)范围内的二进制数4、参考程序:; 将AX中的三位数拆为三个BCD码, 并存入Result 开始的三个单元DATA SEGMENT; 数据段RESULT_1 DB 1RESULT_2 DB 1RESULT_3 DB 1DATA ENDSSTACK SEGMENT STACK ; 堆栈段STA DB 64 DUP(0)STACK_TOP DB 0STACK ENDSCODE SEGMENT; 代码段ASSUME CS:CODE , DS:DATA , ES:DATA , SS:STACKSTART:MOV AX, DATAMOV DS, AX ; 设置数据段MOV AX, STACKMOV SS, AX ; 设置堆栈段LEA SP, STACK_TOP ; 设置栈顶指针MOV AX, 2afHMOV CL, 100DIV CLMOV RESULT_1, AL ; 除以100, 得百位数MOV AL, AHMOV AH, 0MOV CL, 10DIV CLMOV RESULT_2, AL ; 余数除以10, 得十位数MOV RESULT_3, AH ; 余数为个位数MOV AX,4C00H ; 返回DOSINT 21H ;CODE ENDSEND START ; 最后一行要按回车键5、实验及报告要求:1)用合适的编辑软件编辑以上源文件并存入合适目录;要求补充注释未注释的伪指令和指令;2)分别在DOS和Windows下编译、连接生成可执行文件,比较两个环境下生成的机器码的长度和内容;试指出第2、5、7、10、14条指令的IP和机器码。
Emu8086在汇编语言教学中的使用
及 在 模 拟 的 8 8 P 上 执 行 .而 且 可 以得 到 所 写 即 0 6C U 所 见 , 见 即 所 得 的效 果 。 m 8 8 所 E u 0 6界 面 简 单 直 观 。 容
程 序 中的宏 指 令 . 部分 伪 指令 也不 能 使用 . 大 因此 只 ,
能 把程 序分段调 试 : ( ) 能 调 试 太 长 的 程 序 , 能 分 块 调 试 进 行 程 2不 只 序设计 . 样给程 序编写 和调试 带来很 大 的不方便 。 这 ( ) D b g下 调 试 的 程 序 不 能 形 成 可 执 行 文 件 3 在 eu
tr是一 种先进 的 P o. C虚 拟软件 。它是集 编辑器 、 译 组
器 、 组 译 器 、 译 器 、 错 等 功 能 , Wid w 界 面 反 编 除 纯 no s
的软件 集成 开发环 境。 在这个集 成开发 环境 中可 以方 便快速 地编写 1 6或 3 2位 汇编语 言代 码编译 、 调试 以
易上 手 . 通过 它学生 可 以很 快地 掌握 汇编语 言 的开发 现 技 术 代
3 实 例
计
算
^
下 面 以 一 个 汇 编 语 言 程 序 开 发 的 实 例 来 说 明 在 机
E u 0 6模 拟 器 上 的 执 行 。 m 88 .
总
二
利 用 D S中断 中的 2 H功 能 和 3 H功 能 . 改 第 O 5 5 修 八
汇编语言助手Emu8086使用指南
Emu8086集源代码编辑器,汇编/反汇编工具以及可以运行debug的模拟器(虚拟机器)于一身,它优于一般编译器的地方在于提供了一个虚拟的80x86环境,拥有自己一套独立的“硬件”,可以完成一些纯软件编译器无法完成的功能例如Led显示,交通灯,步进电机等等,而且动态调试(DEBUG)时非常方便。
简单的例子:安装完成后选择菜单栏中的文件examples stepper motor在编辑框出现了相应的源码。
点击compile编译选择一个文件保存保存完之后会弹出一个对话框点击run按钮则程序开始运行调试时主控界面如下:再次点击run可以停止运行单击reload可以从头开始执行程序单击single step 可以单步调试。
单击step back可以返回到上一条指令(这个功能也是一般调试器没有的)。
界面左边是寄存器栏,这里可以动态的观察每一步的执行结果点击主控界面下面的screen可以显示模拟输出窗口单击source可以查看源码窗口Reset相当于上面的reload键。
单击aux会出现一个菜单选择第一项memory可以观察程序内存区数值的变化。
选择stop on condition 可以设置条件断点:上面的设定当ax的值是0x0006是断下来单击run按钮可以看到断下来的时候ax值正好等于6单击vars可以查看运行过程中变量的变化。
Debug可以更详细的显示每一步的调试结果通过Stack(堆栈)可以观察函数调用的过程Flags显示标志寄存器的值。
如果刚刚执行的那一条指令修改了哪个标志位的值则以红色显示。
可以到这个网址去下载:/soft/16859.htm目前网上很多人找这个软件的破解版。
其实根本不用破解。
只要在用户名一栏输入任意的字符注册码的前三位输入“112”就可以绕过注册认证了。
至于为什么我就不多说了有兴趣的可以看一下我在看雪论坛发表的一篇文章:/showthread.php?t=119741下面是在百度文库下载的一篇基础教程希望能对大家有所帮助。
(完整版)微机原理Emu8086仿真软件实验讲义
实验一显示程序实验1.emu8086介绍Emu8086—Assembler and Microprocessor Emulator是一个可在Windows 环境下运行的8086CPU汇编仿真软件, Emu8086集源代码编辑器,汇编/反汇编工具以及可以运行debug的模拟器(虚拟机器)于一身,它优于一般编译器的地方在于提供了一个虚拟的80x86环境,拥有自己一套独立的“硬件”,可以完成一些纯软件编译器无法完成的功能例如Led显示,交通灯,步进电机等等,而且动态调试(DEBUG)时非常方便一.软件启动启动界面如图1所示,用户可以选择新建文本、程序实例、启动指南、近期文档。
注册的用户名随意,密码112,即可成功。
二.新建文件单击图1中的“New”选项,软件会弹出如图2所示的选择界面。
● COM模板——适用于简单且不需分段的程序,所有内容均放在代码段中,程序代码默认从ORG 0100H开始;● EXE模板--适用于需分段的复杂程序,内容按代码段、数据段、堆栈段划分。
需要注意的是采用该模板时,用户不可将代码段人为地设置为ORG 0100H,而应由编译器自动完成空间分配;● BIN模板--二进制文件,适用于所有用户定义结构类型;● BOOT模板—-适用于在软盘中创建文件。
此外,若用户希望打开一个完全空的文档,则可选择empty workspace的选项。
三.编译和加载程序用户可根据上述选择的模板中编写程序,如图3所示。
该编辑界面集文档编辑、指令编译、程序加载、系统工具、在线帮助为一体,其菜单功能如表1所示.编写完程序后,用户只需单击工具栏上的“compile”按钮,即可完成程序的编译工作,并弹出如图4所示的编译状态界面.若有错误则会在窗口中提示,若无错误则还会弹出保存界面,让用户将编译好的文件保存相应的文件夹中。
默认文件夹为…\emu8086\MyBuild\,但您可以通过菜单中assembler/ set output directory对默认文件夹进行修改。
Emu8086在微机原理中的应用
摘要微机原理与接口技术课程的主要内容是微机系统的工作原理。
《微机原理与接口技术》作为计算机专业及其相关专业的一门基础课,其重要性是不言而喻的,而Emu8086是学习微机原理(汇编语言)必不可少的工具,它结合了一个先进的原始编辑器、组译器、反组译器、具除错功能的软件模拟工具(虚拟PC),还有一个循序渐进的指导工具。
该软件包含了学习汇编语言的全部内容。
Emu8086集源代码编辑器,汇编/反汇编工具以及可以运行debug的模拟器(虚拟机器)于一身,可以辅助学习微型计算机的知识。
而通过实验的上机使学生更加了解汇编,最终能够熟练掌握关键字 Emu8086 微机原理汇编语言正文:1、EMU8086简介:EMU8086是Digital River公司推出的16位CPU8086的仿真软件,它将汇编语言程序设计和虚拟接口技术有机地结合起来,其内部集成了汇编程序编译器、连接器、参考例程、学习指南,并提供了交通灯、机器人、步进电机争E 个虚拟外设,是学习Intel 8086微处理器的理想工具。
E—MU8086的工作界面为纯WINDOWS,界面友好,由菜单栏、快捷按钮栏和用户工作区构成,它能模拟真实微处理器工作的每一步骤,通过单步调试显示指令执行后CPU内部寄存器、存储器、堆栈、变量和标志寄存器的当前值,操作简单直观,通过学习它可以很快掌握汇编程序设计和接口技术等知识。
这个模拟器是在一台"虚拟"的电脑上运行程序的,它拥有自己独立的“硬件”,这样你程序就同诸如硬盘与内存这样的实际硬件完全隔离开,动态调试(DEBUG)时非常方便.8086的机器代码同INTEL下一代微处理器完全兼容,包括Pentium II 和Pentium 4,这意味着8086代码具有很广泛的应用范围,它在老式的和最新的计算机系统上都能工作8086指令的另外一个优点是它的指令集非常小,这样学起来会容易得多。
Emu8086同主流汇编程序相比,语法简单得多,但是它能生成在任何能兼容8086机器语言的代码。
推荐-汇编语言第实验报告输入输出程序设计 精品
FlshYproc
shlcx,1
yllw:
OUT4,AX
pushcx
movcx,400
calldelay
xorax,dx
popcx
loopyllw
ret
FlshYendp
end
教师评议
成绩评定: 指导教师签名:
四川大学计算机学院、软件学院
实验 报 告
学生姓名
学号
班级
学生专业
计算机科学与技术
学院
计算机学院
课程名称
汇编语言程序设计(第八次)
实 验 时 间
实验项目
输入输出程序设计
报告撰写时间
实验目的
练习输出控制的简单编程
实验环境
1X86系列桌面系统;
2Emu8086。
实验内容
对Emu8086的交通灯例子traffic_lights.asm进行改造,要求如下:
movdx,0000010000010000b
movcx,5
callFlshY
;使用onoff子程序,南北向开通900h时间,然后关闭南北向绿灯。
movax,0000100001100001b
movdx,0000100000100000b
movcx,900h
callonoff
;使用FlshY子程序,使南北向黄灯闪烁5次
1南北向、东西向交替开通,即先“南北向绿灯则东西向红灯”,延时示意后则“南北向红灯则东西向绿灯”;
2某方向由绿灯切换成红灯前,先熄灭绿灯,继而闪烁黄灯5次,之后才打开红灯;
3②过程之后,方可打开另一方向绿灯。
实验记录
带注释的源代码:
#MAKE_BIN#
ch01-Emu8086汇编软件使用
第1章 Emu8086汇编软件使用一. 实验目的1. 熟悉汇编语言开发环境2. 掌握Emu8086软件使用方法和调试方法3. 熟悉汇编语言的编辑、汇编、连接、运行的全过程4. 调试简单的程序二. 实验条件安装有Emu8086仿真软件的电脑一台。
三. 预习要求预习Emu8086的使用方法和汇编语言指令。
Emu8086是一个可在Windows 环境下运行的8086CPU汇编仿真软件。
它集成了文本编辑器、编译器、反编译器、仿真调试、虚拟设备和驱动器为一体,并具有在线使用指南,对于学习汇编语言的人是一个很有用的工具。
软件提供的实例中包含了几十种典型的程序代码,其中包括:数值计算、逻辑运算、屏幕显示、键盘输入、文件打印、马达控制、温度控制、交通灯控制等。
在软件提供的快速指南中提供了多种在线帮助工具,包括:文件索引、8086CUP指令使用指南、系统中断调用列表以及用法等。
用户可以通过该工具快速地掌握8086CPU指令体系和emu8086汇编真软件的使用。
1. 软件启动打开桌面上的EMU8086的图标,出现如图1.1所示的启动界面,可选择new,建立新的汇编语言程序,也可打开code examples读取示例程序。
微微机原理与接口技术实用教程2图 1.1 启动界面2. 新建文件单击图1.1中的“new”选项,建立新的汇编程序,软件弹出如图1.2所示对话框,选择代码的文本格式,共有4种模板。
图1.2 新建文本格式选择z COM 模板:适用于简单且不需分段的程序,所有内容均放在代码段中,程序代码默认从ORG 0100H 开始;z EXE 模板:适用于需分段的复杂程序,内容按代码段、数据段、堆栈段划分。
需要注意的是采用该模板时,用户不可将代码段人为地设置为ORG 0100H ,而应由编译器自动完成空间分配;z BIN 模板:二进制文件,适用于所有用户定义结构类型,一般不用,因为不能正确解释伪指令;z BOOT 模板:适用于在软盘中创建文件,数据段的段地址为07C0H 。
基于Emu8086的汇编语言程序设计探讨
2010年1月下 第3期(总第189期)1 前言有很多人认为汇编语言的应用范围很小,由此忽视它的重要性。
其实汇编语言对每一个希望学习计算机科学与技术的人来说都是非常重要的,是不能不学习的语言。
汇编语言是计算机能够提供给用户使用的最快而又最有效的语言,也是能够利用计算机所有硬件特性并能够直接控制硬件的唯一语言[1]。
Emu8086是8086微处理器的仿真软件,完全兼容Intel 和Amd系列,内部集成了汇编程序编译器、连接器和丰富的参考资料、例程、学习指南等。
该款软件可模拟真实微处理器运行程序的详细步骤,不仅能够显示寄存器、存储器、堆栈、标志寄存器以及变量的值,而且还可通过双击鼠标来改变存储器的值。
除此之外,通过Emu8086可模拟显示器、直流步进电机、交通红绿灯和LED等外设[2]。
2 Emu8086和Debug的应用对比对于Emu8086,可在工作区输入并编辑源程序。
单击工具栏上的“emulate”按钮,Emu8086便会自动完成对源程序的编译和连接;如无错误,将会进入指令调试界面。
通过该软件提供的单步调试方式,可以方便观察当时寄存器值和状10.3969/j.issn.1671-489X.2010.03.064基于Emu8086的汇编语言程序设计探讨*邢江湖北师范学院计算机科学与技术学院 湖北黄石 435002摘 要 简单介绍Emu8086功能,通过汇编程序实例调试,对比Emu8086和Debug在汇编语言程序设计中的应用。
可以看出,Emu8086的使用使得汇编语言程序的编译、执行变得更加直观和清晰,有助于提高初学者的学习兴趣。
关键词 Emu8086;汇编语言;Debug中图分类号:TP368.1 文献标识码:B 文章编号:1671-489X(2010)03-0064-02Exploration of Assemble Language Program Design based on Emu8086//Xing JiangAbstract Firstly functions of Emu8086 are introduced. A program of assemble language is debugged. Emu8086 and debug are contrasted in it. The beginner can make use of Emu8086.Because compiling and running of assemble language program became clearly and easily by Emu8086.Key words Emu8086; assemble language; DebugAuthor’s address College of Computer Science & Technology, Hubei Normal University, Huangshi, Hubei, China 435002∗基金项目:2008年湖北师范学院教研项目“基于Internet的计算机组成与结构虚拟实验系统的设计与实现”。
Emu8086在汇编语言教学中的使用
现代计算机!总第二八一期"!"#$%&’"!()*+%,--!."!"#$%$&在汇编语言教学中的使用胡安明!广东技术师范学院天河学院计算机系"广州#$%#&%#摘要#关键词#汇编语言!!"!#!$%&!"!’收稿日期"("")*+(*(!修稿日期"(""!*",*"+作者简介"胡安明#+-!(*$%男%湖北荆州人%助教%本科%研究方向为软件工程在汇编语言实验教学过程中%传统的教学软件是./0&1配合234%来进行教学%但是使用这种搭配方式却存在诸多不足&通过讨论在汇编语言实验教学中所遇到的难点问题%提出如何利用$%&!5!’模拟器来解决&%引言汇编语言程序设计作为计算机专业的一门重要的专业课"也是$微机原理%&$接口技术%等课程的重要先修课"在计算机的教学环节中占有重要的地位’$汇编语言程序设计%的教学过程中"实验教学占有很大的比例"实验教学对于学生的动手能力"以及对理论知识的运用和实践&创新等能力的培养有着不可替代的作用(现今的大学已将实验教学提高到同理论教学同一高度"由此可见实验教学的重要性(然而担任这门课的教师都会有体会"教师难教"学生难学"实验难做"更主要的原因是实验难做(’教学难点汇编语言教学过程可以分为两个部分"即前半部分讲解!%!’指令系统"后半部分讲解中断以及汇编语言程序设计(而前半部分的指令又可分为寻址&传送&算术&移位&转移&循环&字符串指令等(而讲解时基本上是使用()*+,演示"而()*+,本身是个纯命令模式的环境"不论是教师演示还是学生实验使用起来都感觉不方便"给学习带来困难(使用()*+,调试汇编语言程序的局限性有-./)*$#在()*+,状态下运行的程序不能使用宏汇编程序中的宏指令"大部分伪指令也不能使用"因此只能把程序分段调试+*.#不能调试太长的程序"只能分块调试进行程序设计"这样给程序编写和调试带来很大的不方便(*0#在()*+,下调试的程序不能形成可执行文件12)3)4"因此调试好的程序只能转到其他编译中去编译"然后生成15)3)4(后半部分的中断以及汇编语言的程序设计"利用6789进行调试效果也不直观"加上在:;<=>?8.%%%以后的版本中(@A 都是在由0.位的BCD(6虚拟机系统模拟出的$’位环境下执行"所以很多汇编语言实验做不出来"或者是做出来了也难有结果(不论是教师教学还是学生实验都很不方便"学生很难对理论知识有充分的理解和应用(为此"本文推荐E9+!%!’模拟器"并结合教学心得论述利用E9+!%!’模拟器来解决汇编语言实验中所存在的问题((!"#$%$&E9+!%!’全称E9+!%!’F6;GH>IH>G)88>H E9+J7/K>H "是一种先进的IL 虚拟软件(它是集编辑器,组译器&反组译器&编译器&除错等功能"纯:;<=>?8界面的软件集成开发环境(在这个集成开发环境中可以方便快速地编写$’或0.位汇编语言代码编译&调试以及在模拟的!%!’LIM 上执行"而且可以得到所写即所见"所见即所得的效果(E9+!%!’界面简单直观"容易上手"通过它学生可以很快地掌握汇编语言的开发技术()实例下面以一个汇编语言程序开发的实例来说明在E9+!%!’模拟器上的执行(利用(@A 中断中的.#N 功能和0ON 功能"修改!"现代计算机!总第二八一期"!#!$%&’的$()中断!功能变为在屏幕上显示一字符串"*+,-,-./0123$().45"#分析$中断出来程序大部分都是由6178和978系统所提供的!当用户编写自己的中断处理程序时!需考虑到使用的中断号码是否已经被使用%由于中断涉及到对硬件底层的直接操作!难度较高%而且从:,2;40-<###开始系统采用纯=<位模式!978模式都由=<系统来模拟出来!所以修改中断难以实现!程序也难以通过编译#利用>?’!#!$模拟器可以通过模拟的方式进行编译!实现修改中断的效果#操作过程如下$&@’打开>AB!#!$输入代码!如图@所示#C4;/-/DA/23E--BA/C-FC4;/G;-FC4;/-3EH3F A4I EJG$(+%取出原有$(号中断保存A4I EJG=(+,23<@+KB-+/-KB-+LMA4I EMG-/D J,-3A4I;-GEMA4I;MG4NN-/3J,-3A4I EJG$(+A4I E+G<(+%指定新的中断地址,23<@+,23$(+A4I E+G"C+,23<@+-3H,2D;L O*+,-,-123$(+.45OG#;+G#E+GO¥OJ,-3KH4C%中断处理子程序KB-+EMKB-+LMKB-+CMKB-+;MKB-+-,KB-+;,KB-+LKKB-+;-KB-+/--3,KB-+C-KB-+;-A4I;MG4NN-/3-3H,2DA4I E+G#P+,23<@+CJ,K4K/-K4K;-K4K LKK4K;,K4K-,K4K;MK4K CMK4K LMK4K EM,H/3J,-3/2;KC4;//2;-/2;-3EH3&<’将输入的代码存盘!然后在>AB!#!$中编译!其优点是如果语法上有错误可以方便的显示出错误所在行号以及错误的类型!如图@所示#图@&=’编译之后便可模拟执行代码!点击>AB!#!$工具栏上的/ABJE3/按钮!随即>AB!#!$强大的模拟功能即展现出来了#如图<所示#图<从这个界面中可以看到>AB!#!$%&’模拟器!整体上分成"个功能模块$!"!"#$%&’"!()*+%,--!."现代计算机!总第二八一期"!"#$%&’"!()*+%,--!."!"#$%&’()*+,+-./01%2""%)3456#/$*#$%7%891./$#$%&’()&*!+,(-./0120-31/(0&/45)3&60+,770*048.3&*9,&*:,7;/0<6&)<37=,1(37$&)>01?)/;48.3&*@6,.ABCA"C "23"0:890#;%5<&:="#%??0(D7;E3&*.3*0F !C!GF H(.!C!GI&/60/03<6)&*,J 3??0(D7;73&*.3*04/139)/),&37-1,<0??,J 09.<3/),&37?,J/K310)?20D.*3&9L3?(4D.//6)?(0/6,963?(3&;)&390M.3<)0?N 561,.*69)?<.??)&*/609)JJ)<.7/)0?(3;0&<,.&/01)&/03<6)&*,J 3??0(D7;73&*.3*04-1,-,?0?6,K /,.?0H(.!C!G ?)(.73/,1/,,7>0/60?09)JJ)<.7/)0?NB 号模块#是H(.!C!G 模拟器$整个程序的执行控制都在这里%从这个窗口可以看到$当前正在执行的机器指令$以及编译后的汇编语言指令的执行情况$也可看到"个通用寄存器&"个段寄存器以及指针寄存器的数据变化情况%同时在这个窗口中还可控制程序实现的单步执行和全部执行’O 号模块#是显示当前正在执行指令与之相对应的源程序%P 号模块#是H(.!C!G 模拟的输入输出屏幕"号模块#是H(.!C!G 模拟的20D.*%在教学中$使用单步执行效果很好$因为可以让学生全面的看到!C!G +:$内部执行$所产生的变化以及各个值之间的传递与计算的情况%!""点击Q)&*70?/0-按钮程序单步执行$可以看到正在执行的指令$如图P 所示%图P在程序执行时看到$到什么地方需要输入$以及输入后%E$的处理和寄存器值的变化$如图"所示%!A "在H(.!C!G 中调试好的程序$仍可生成0R0文件$一般在编译之后就可以生成0R0%图">()*+,+-的不足H(.!C!G 模拟器毕竟是模拟+:$的执行$那么在这个环境下有些汇编语言实验是做不出来的$例如文件的操作&STIQ 部分中断调用%H(.!C!G 是一个软件$同样也存在有D.*的%结语通过实验教学中使用H(.!C!G 模拟器$可以向学生清楚展现+:$内部执行的每一个环境$以及期间的数据所发生的变化$这样即可以提高学生对学习这门的兴趣$又可以让学生迅速地将在课堂上所学习的理论知识$运用到实验中来%较好地解决了汇编语言这门在教学过程中的所遇到的难教$难学和实验难的问题%参考文献UBV 沈美明N ISL /:+汇编语言程序设计第O 版ULVN 北京#清华大学出版社UOV 马力妮N !CR!G 汇编语言程序设计ULVN 北京#机械工业出版社!"。
emu8086的交替彩灯实验
emu8086的交替彩灯实验
设计目的:
1.巩固和加深课堂所学知识;熟悉各种指令的应用及条件;
2.学习掌握一般的软硬件的设计方法和查阅、运用资料的能力;
3.深入了解与掌握8086在PC机系统的典型接法和8086的工作方法及应用编程。
设计任务与要求:
设计一个交替彩灯控制系统,能输出四种花型,输出花型如下:1)00000001左交替(1时亮,0时灭)
2)10000000右交替
3)按00000001,00000011,00000111-----11111111规律递增,后同时闪烁一次,交替不断。
4)按01010101,10101010(或红、绿彩灯)交替闪烁。
功能要求:
1)交替彩灯的交替速度可调;
2)按键要求
①启动/暂停,按SW0开关启动系统,按SW1开关停止系统工作。
②花型变换,由开关SW2、SW3进行四种花型切换;。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
TEMPLATE程序
本章与指令相关的实验都是用COMTEMPLATE类型的程序完成的。打开emu8086,在“welcome…”对话框中,单击 按钮,创建文件。
在“choose code template”对话框中,选择“COMtemplate-simpleandtiny executable ,puremachinecode.”后,单击 按钮。
MOVAX,03FFH;AX=?
MOV BX,AXﻩﻩ;BX=?
MOVDS:[6000H],BX;DS:[6000H]=?(提示:在emulator对话框中间的文本框中输入段基地址:段内偏移地址,可以观察其它逻辑段相应存储单元的内容)
(2)创建COM TEMPLATE程序,用以下程序段将一组数据压入PUSH堆栈区,然后通过三种不同方式出栈。观察栈的变化情况(提示:在emulator对话框中,单击 按钮可以察看栈中内容)以及出栈后数据的变化情况,并把结果填入表11中。程序段如下:
修改“emulator”对话框中文本框的内容,也可以观察其它段的内容,在图所示界面中,DS=0700H,若要察看该数据段中偏移地址为6000H位置处的内存单元内容,可以在文本框中输入0700:6000,显示结果如图所示,中间部分依次列出从该地址开始的所有字节的内容。
在“emulator”对话框的底部,单击 按钮,可以观察栈的内容;单击 按钮,可以观察标志寄存器中标志位的内容。
寻址方式包括:1)立即寻址;2)直接寻址;3)寄存器寻址;4)寄存器间接寻值;5)寄存器相对寻址;6)基址-变址寻址;7)基址—变址—相对寻址;8)隐含寻址
4.实验内容
(1)创建COMTEMPLATE程序,输入以下程序段,观察程序的执行情况,程序段如下:
MOVBL,08Hﻩ;BX=?
MOVCL,BLﻩﻩ;CL=?
在如所示的编辑界面中,在“;add your codehere”部分输入相应的指令,第一条指令默认的偏移地址为100h。
输入全部指令后,单击 按钮,保存相应的程序段。
2.EXETEMPLATE程序
本章与DOS功能调用和汇编源程序相关的实验都是用EXETEMPLATE程序完成的。打开emu8086,在“welcome…”对话框中,单击 按钮,创建文件。
MOVAX,0102H
MOV BX,0304H
MOVCX,0506H
MOV DX,0708H
PUSHAX
PUSHBX
PUSHCX
PUSHDX
第—种出栈方式的指令序列:
POPDX
POPCX
POPBX
POPAX
第二种出栈方式的指令序列(注:替换掉第—种出栈方式的指令序列):
POPAX
POPBX
POPCX
汇编语言程序设计实验篇(emu8086)
———————————————————————————————— 作者:
———————————————————————————————— 日期:
ﻩ
1.汇编语言程序设计实验篇
1.1.汇编系统软件简介
Emu8086-MicroprocessorEmulator是集源代码编辑器、汇编/反汇编工具以及debug的模拟器。它能模拟一台"虚拟"的电脑运行程序,拥有独立的“硬件”,避免访问真实硬件。该软件兼容Intel的下一代处理器,包括PentiumII、Pentium4。利用该软件提供的调试工具,能够单步跟踪程序,观察程序执行过程中寄存器、标志位、堆栈和内存单元的内容。
在“choose code template”对话框中,选择“EXEtemplate-advancedexecutable : relocation, checksum.”后,单击 按钮。
在如图所示的编辑界面中,已经可以给出了源程序的框架,包含数据段、堆栈段和代码段的定义以及必要的功能调用等,在“addyour data here”和“;addyourcode here”部分可以分别输入相应的变量定义和指令。
POPDX
第三种出栈方式的指令序列(注:替换掉第二种出栈方式的指令序列):
POPCX
POPDX
POPAX
POPBX
表11数据传送实验结果表格
寄存器的值
第一种出栈方式
第二种出栈方式
第三种出栈方式
(AX)=
(BX)=
(CX)=
(DX)=
(3)创建COMTEMPLATE程序,分别输入下列指令,按要求设置各寄存器及内存单元的值(提示:在“emulator”对话框中,可以直接修改寄存器的值;选择“view”菜单中的“memory”菜单项可以设置内存单元的值),其中BX=0010H,SI=0001H,[60010H]=12H,[60011H]=34H,[60012H]=56H,[60013H]=78H,[60120H]=0ABH,[60121H]=0CDH,[60122H]=0EFH,观察指令执行后AX中的内容。
1.2基础实验
1.2.1数据传送指令
1.实验目的
1)熟悉8086指令系统的数据传送指令及8086的寻址方式。
2)利用emu8086调试工具调试汇编程序。
2.实验设备
微型计算机、emu8086
3.实验原理
通用数据传送指令包括:1)通用数据传送指令,如MOV,PUSH,POP,XCHG,CBW,CWD;2)目标地址传送指令,如LDS,LES;3)标志传送指令,如LAHF,SAHF,PUSHF,POPF;4)输入输出指令,如IN,OUT,LEA
在“emulator”对话框中,选择“view”菜单中的“memory”菜单项,也可以观察内存的情况。在“RandomAccess Memory”对话框中,可以修改文本框中的值可以确定所要观察的地址,该值由段基地址:段内偏移地址构成,如图所示,当前要观察的内存地址为(6000:0010)。在显示结果中,左边是逻辑地址,中间是从该地址的开始连续16个字节的内容,右边是每个字节对应的字符。在该对话框中,也可以直接修改存储器单元的值,如图所示,从60010H开始的连续4个字节的内容已经被修改为12H,34H,56H和78H。
输入全部指令后,单击 按钮,保存相应的程序。
1.1.2执行程序
在编辑界面中,如图所示,单击 按钮,自动完成源程序的编译和链接。在“emulator”对话框中(),左边部分列出了寄存器的当前值,右边部分是已经输入的程序段,中间部分是右边每条指令的物理地址和对应的机器代码,中间的文本框中列出了当前指令的CS和IP。单击 按钮,可以单步执行一条指令;单击 按钮,可以一次执行完所有程序;单击 按钮,可以重新回到第一条指令的位置处;单击 按钮,可以重新加载另一个程序。