第3章80x86指令系统和寻址方式内容摘要:
CS=0000H CS→ 00000 02020 IP→ IP=2020H CS→ CS=1000H NEXTROUNT IP=0132H 10132 10000 新 IP 新 CS 安徽理工大学 第 3章 80x86指令系统和寻址方式 《 汇编语言 》 36 ( 4) 段间间接寻址 用存储器中的两个相继字的内容取代 CS 和 IP,存储单元的地址可用存储器寻址方式得到。 指令 数据寻址方式 根据数据寻址 方式计算出 EA值 转向的有效地址 转向的有效地址 存储器中的两个相继字 IP CS 安徽理工大学 第 3章 80x86指令系统和寻址方式 《 汇编语言 》 37 【 例 】 JMP DWORD PTR [INTERS+BX] 如 DS=3000H, BX=1200H, INTERS=0020H, 则存储单元的物理地址 PA=30000+0020+1200=31200H 指令执行前, CS=0000H, IP=1000H,( 31220H) =40H, ( 31221) =01H,( 31222H) =00H,( 31223) =10H。 指令执行后, CS=1000H, IP=0140H,( 31220H) =40H, ( 31221) =01H,( 31222H) =00H,( 31223) =10H。 安徽理工大学 第 3章 80x86指令系统和寻址方式 《 汇编语言 》 38 指令存储和执行情况: JMP DWORD PTR INTER [BX] ~ ~ ~ ~ CS=0000H CS→ 00000 01000 IP→ IP=1000H CS→ CS=1000H IP→ IP=0140H 10140 10000 代码段 01 40 00 10 DS=3000H DS→ 30000 31220 INTER+BX 数据段 新 IP 新 CS 31221 31222 31223 安徽理工大学 第 3章 80x86指令系统和寻址方式 《 汇编语言 》 39 程序占有的空间和执行时间 安徽理工大学 第 3章 80x86指令系统和寻址方式 《 汇编语言 》 40 80x86的指令系统 80X86指令系统分为以下 6组: 数据传送指令 串处理指令 算术指令 控制转移指令 逻辑指令 处理机控制与杂项操作指令 在学习汇编指令时,指令的功能是我们学习和掌握的重点,但要准确、有效地运用这些指令,我们还要熟悉系统对每条指令的一些规定或约束。 因此,对指令要掌握以下几个方面内容: 指令操作数的寻址方式; 指令对标志位的影响、标志位对指令的影响; 指令的执行时间,对可完成同样功能的指令,要选用执行时间短的指令。 安徽理工大学 第 3章 80x86指令系统和寻址方式 《 汇编语言 》 41 .1 数据传送指令 数据传送指令 负责把数据、地址或立即数传送到寄存器、存储器或端口号寄存器。 它相对于高级语言里的赋值语句。 通用数据传送 : MOV PUSH POP 累加器专用传送(输入输出) : IN OUT XLAT 地址传送 : LEA LDS LES 标志寄存器传送 : LAHF SAHF PUSHF POPF 类型转换指令 : CBW CWD 安徽理工大学 第 3章 80x86指令系统和寻址方式 《 汇编语言 》 42 MOV 传送指令 格 式: MOV Reg/Mem, Reg/Mem/Imm 其中: Reg—Register(寄存器), Mem—Memory(存储器), Imm—Immediate(立即数),它们 可以是 8位、16位。 功 能: 指令的功能是 把源操作数(第二操作数)的值传给目的操作数(第一操作数)。 指令执行后,目的操作数的值被改变,而源操作数的值不变。 在存储单元是该指令的一个操作数时,该操作数的寻址方式可以是任意一种存储单元寻址方式。 安徽理工大学 第 3章 80x86指令系统和寻址方式 《 汇编语言 》 43 段寄存器 CS、 DS、 SS、 ES 通用寄存器 8位或者 16位 存储器 立即数 8位或者 16位 在汇编语言中,主要的数据传送方式如下图所示。 虽然一条 MOV指令能实现其中大多数的数据传送方式,但也存在 MOV指令不能实现的传送方式。 安徽理工大学 第 3章 80x86指令系统和寻址方式 《 汇编语言 》 44 对 MOV指令有以下几条具体规定,其中有些规定对其它指令也同样有效。 ( 1) 两个操作数的数据类型要相同 ,要同为 8位、 16位, 如: MOV BL, AX等是不正确的; ( 2) 两个操作数不能同时为段寄存器 ,如: MOV ES, DS等; ( 3) 代码段寄存器 CS不能为目的操作数,但可作为源操作数 , 如:指令 MOV CS, AX等不正确,但指令 MOV AX, CS等是正确的; ( 4) 立即数不能直接传给段寄存器 , 如: MOV DS, 100H等; ( 5) 立即数不能作为目的操作数 ,如: MOV 100H, AX等; ( 6) 指令指针 IP,不能作为 MOV指令的操作数 ; ( 7) 两个操作数不能同时为存储单元 , 如: MOV VARA, VARB等,其中 VARA和 VARB是同数据类型的内存变量。 安徽理工大学 第 3章 80x86指令系统和寻址方式 《 汇编语言 》 45 PUSH进栈指令 堆栈是一个重要的数据结构,它具有 “ 先进后出 ”的特点, 通常用来保存程序的返回地址。 它主要有两大类操作: 进栈操作和出栈操作。 指令格式: PUSH Reg/Mem 一个字进栈,系统自动完成两步操作: SP←SP2,( SP) ←操作数 ; 功 能: 将寄存器、段寄存器或存储器中的一个字数据压入堆栈,堆栈指针减 2。 安徽理工大学 第 3章 80x86指令系统和寻址方式 《 汇编语言 》 46 【 例 】 PUSH AX 28 16 A7 SS=5000H SS→ 50000 堆栈段 52500 52501 52502 SP=2500H SP→ 31 25 AX 28 31 16 A7 SS=5000H SS→ 50000 堆栈段 52500 52501 52502 SP=24FEH SP→ 25 31 25 AX 525FF 525FE ( 1)执行前 ( 2)执行后 安徽理工大学 第 3章 80x86指令系统和寻址方式 《 汇编语言 》 47 POP进栈指令 指令格式 : POP Reg/Mem 弹出一个字,系统自动完成两步操作: 操作数 ←( SP), SP←SP+2; 功 能 : 将栈顶元素弹出送至某一寄存器、段寄存器(除 CS外)或存储器,堆栈指针加 2。 安徽理工大学 第 3章 80x86指令系统和寻址方式 《 汇编语言 》 48 【 例 】 POP BX (1)执行前 (2)执行后 48 6B 9A 28 SS→ 50000 堆栈段 51001 51002 51003 SP=1000H SP→ 75 C1 BX 51000 48 6B 9A 28 SS→ 50000 堆栈段 51001 51002 51003 SP=1002H SP→ 48 6B BX 51000 安徽理工大学 第 3章 80x86指令系统和寻址方式 《 汇编语言 》 49 IN输入指令 输入指令用来 从指定的外设寄存器取信息送入累加器。 它有几种形式: 长格式: IN AL, PORT ( 字节 ) IN AX, PORT ( 字 ) 执行操作: ( AL) ( PORT) ( 字节 ) ( AX) ( PORT+1, PORT) ( 字 ) 短格式: IN AL, DX (字节) IN AX, DX (字) 执行操作:( AL) (( DX)) (字节) ( AX) (( DX) +1,( DX))(字) 安徽理工大学 第 3章 80x86指令系统和寻址方式 《 汇编语言 》 50 注意: 该指令的作用是从端口中读入一个字节或字,并保存在寄存器 AL或 AX中。 如果某输入设备的端口地址在 0~255范围之内,那么,可在指令 IN中直接给出,否则,要把该端口地址先存入寄存器 DX中,然后在指令中由 DX来给出其端口地址。 安徽理工大学 第 3章 80x86指令系统和寻址方式 《 汇编语言 》 51 例如: IN AL, 60H ;从端口 60H读入一个字节到 AL中 IN AX, 20H;把端口 20H、 21H按 “ 高高低低 ” 组成的 字读入 AX MOV DX, 2F8H IN AL, DX;从端口 2F8H读入一个字节到 AL中 IN AX, DX;把端口 2F8H、 2F9H按 “ 高高低低 ” 组成 的字读入 AX。第3章80x86指令系统和寻址方式
相关推荐
子程序和中断程序 一个项目( Project) 包括的基本组件有程序块、数据块、系统块、符号表、状态图表、交叉引用表。 程序块、数据块、系统块须下载到 PLC, 而符号表、状态图表、交叉引用表不下载到 PLC。 梯形图程序的输入 1. 建立项目 ( 1)打开已有的项目文件。 “系统块 ” 块对话框 ( 2)创建新项目 2. 输入程序 ( 1)输入指令 (
DPTR作为基址寄存器, A的内容作为无符号数和 DPTR的内容相加得到一个 16位的地址,把由该地址指出的程序存储器单元的内容送到累加器 A. 例如 (DPTR)=8100H (A)=40H 执行指令 MOVC A,@A+DPTR 本指令的执行结果只和指针 DPTR及累加器 A的内容有关 , 与该指令存放的地址及常数表格存放的地址无关 , 因此表格的大小和位置可以在 64K程序存储器中任意安排
Print Tab(6)。 Format(Mydate, mmmm) Print Tab(6)。 Format(Mytime, ttttt) End Sub 数据输入和输出 5 格式输出函数 3) 字符串格式化 符号 作用 例子 结果 强制小写 Format(Hello,) hello 强制大写 Format(happy,) HAPPY @ 不够加空格 Format(ABCDE,@@@@@@)
真值表 ABCCABCBABCAL ACBCAB)BB(AC)AA(BC)CC(ABA B CCABCBABCAL( 2)由真值表写出逻辑表达式: ( 3)化简 . ( 4)画出逻辑图 . 如果要求用与非门实现该逻辑电路 , 就应将表达式转换成 与非 —与非 表达式: ACBCABACBCABL 画出逻辑图如图所示。 ( 2)列逻辑真值表。
学教授周国平在 《 尊重生命 》 中有这么一句经典的名言:“热爱生命是幸福之本;同情生命是道德之本;敬畏生命是信仰之本。 ”人文精神强调人的价值要受到尊重即敬畏生命、尊重生命。 下列观点与此相符的是 ( ) A.“人是会说话的工具” B.“存天理,灭人欲” C.“人是万物的尺度” D.“信奉圣经,献身上帝” [答案 ] C 第 30讲 │ 重点要点探究 [解析 ] 选项中反映人文精神的只有 C项
对接高考 2. 清代军机处的特点 史料 机务及用兵皆军机大臣承旨 , 天子无日不与 (军机 )大臣相见 , 无论宦夺 (宦官 )不得参 , 即承旨诸 (军机大臣 )亦只供传述缮撰 , 而不能稍有赞画于其间也。 ——摘自 《 清史稿 军机大臣年序表 》 导读: 史料表明清代军机大臣无决策权 , 只是奉承皇帝旨意 , 传达皇帝命令 , 说明君主专制达到顶峰。 知识整合 聚焦重点 对接高考 3.