微机小程序.doc

上传人:hw****26 文档编号:3156655 上传时间:2019-05-23 格式:DOC 页数:20 大小:670KB
下载 相关 举报
微机小程序.doc_第1页
第1页 / 共20页
微机小程序.doc_第2页
第2页 / 共20页
微机小程序.doc_第3页
第3页 / 共20页
微机小程序.doc_第4页
第4页 / 共20页
微机小程序.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、微 型 计 算 机 原 理 第 四 章 8x86指 令 系 统2010年 6月 30日 Wednesday 56 例 要 求 计 算 两 个 十 进 制 数 之 和 , 例 要 求 计 算 两 个 十 进 制 数 之 和 , 7 8 ? 。 ? 。可 用 以 下 指 令 实 现 :可 用 以 下 指 令 实 现 : (非 压 缩 型非 压 缩 型 BCD码 调 整码 调 整 )MOV AX, 0007H ;(AL)=07H,(AH)=00HMOV BL, 08H ;(BL)=08HADD AL, BL ;(AL)=0FHAAA ;(AL)=05H,(AH)=01H;(CF)=(AF)=1(压

2、缩 型压 缩 型 BCD码 调 整码 调 整 )MOV AX, 0007H ;(AL)=07H,(AH)=00HMOV BL, 08H ;(BL)=08HADD AL, BL ;(AL)=0FHDAA ;(AL)=15H,(AH)=00H;(CF)=0,(AF)=1微 型 计 算 机 原 理 第 四 章 8x86指 令 系 统2010年 6月 30日 Wednesday 57 例 要 求 计 算 两 个 十 进 制 数 之 和 , 例 要 求 计 算 两 个 十 进 制 数 之 和 , 56 34 ? 。 ? 。可 用 以 下 指 令 实 现 :可 用 以 下 指 令 实 现 : (压 缩 型

3、压 缩 型 BCD码 调 整码 调 整 )MOV AX, 3456H ;(AL)=56H,(AH)=34HADD AL, AH ;(AL)=8AHDAA ;(AL)=90H 例 要 求 计 算 两 个 例 要 求 计 算 两 个 BCD数 的数 的 ASCII码 之 和 , 即码 之 和 , 即5 9 ? 。 可 用 以 下 指 令 实 现 : ? 。 可 用 以 下 指 令 实 现 : (ASCII码 调 整码 调 整 )MOV AL, 5 ;(AL)=35HADD AL, 9 ;39H,(AL)=6EHMOV AH, 0 ;(AH)=00HAAA ;(AH)=01H,(AL)=04HOR

4、AX,3030H ;(AX)=3134H,即即 34微 型 计 算 机 原 理 第 四 章 8x86指 令 系 统2010年 6月 30日 Wednesday 60 例 要 求 计 算 两 个 十 进 制 数 之 差 , 例 要 求 计 算 两 个 十 进 制 数 之 差 , 86-7 ? 。 ? 。可 用 以 下 指 令 实 现 :可 用 以 下 指 令 实 现 : (非 压 缩 型非 压 缩 型 BCD码码 )MOV AX, 0806H ;(AH)=08H,(AL)=06HSUB AL, 07H ;(AX)=08FFHAAS ;(AX)=0709H 例 要 求 计 算 两 个 十 进 制

5、数 之 差 , 例 要 求 计 算 两 个 十 进 制 数 之 差 , 134-56 ? 。 ? 。可 用 以 下 指 令 实 现 :可 用 以 下 指 令 实 现 : (压 缩 型压 缩 型 BCD码码 )MOV AX, 5634H ;(AH)=56H,(AL)=34HSUB AL, AH ;(AL)=DEH,有 借 位有 借 位DAS ;(AL)=78H微 型 计 算 机 原 理 第 四 章 8x86指 令 系 统2010年 6月 30日 Wednesday 62AAM指 令 的 操 作 为 :指 令 的 操 作 为 : (将 二 进 制 数 转 换 成 十 进 制 数将 二 进 制 数

6、转 换 成 十 进 制 数 )(AH) (AL)/0AH的 商 ; 即的 商 ; 即 AL除 以除 以 10, 商 送, 商 送 AH(AL) (AL)/0AH的 余 ; 即的 余 ; 即 AL除 以除 以 10,余 数 送余 数 送 AL例 : 要 求 进 行 以 下 十 进 制 乘 法 运 算 :例 : 要 求 进 行 以 下 十 进 制 乘 法 运 算 : 79 ? ?解 : 可 编 程 序 段 如 下 :解 : 可 编 程 序 段 如 下 :MOV AL, 07H ; (AL)=07HMOV BL, 09H ; (BL)=09HMUL BL ; (AX)=07H09H=003FHAAM

7、 ; (AH)=06H, (AL)=03H 微 型 计 算 机 原 理 第 四 章 8x86指 令 系 统2010年 6月 30日 Wednesday 65AAD指 令 的 操 作 为 :指 令 的 操 作 为 : (十 进 制 数 转 换 成 二 进 制 数十 进 制 数 转 换 成 二 进 制 数 )(AL) (AH)0AH+(AL)(AH) 0例 : 要 进 行 以 下 十 进 制 除 法 运 算 :例 : 要 进 行 以 下 十 进 制 除 法 运 算 : 732=?解 : 可 编 程 序 段 如 下 :解 : 可 编 程 序 段 如 下 :MOV AH, 07H ; (AH)=07H

8、MOV AL, 03H ; (AL)=03HMOV BL, 02H ; (BL)=02HAAD ; (AL)=49H(即 十 进 制 数即 十 进 制 数 73)DIV BL ; (AL)=24H(商商 ),(AH)=01H(余 数余 数 )AAM ; (AH)=03H, (AL)=06H微 型 计 算 机 原 理 第 四 章 8x86指 令 系 统2010年 7月 1日 Thursday 72使 用 举 例使 用 举 例例 一例 一 利 用 循 环 移 位 指 令 可 以 对 寄 存 器 或利 用 循 环 移 位 指 令 可 以 对 寄 存 器 或存 储 器 中 的 任 一 位 进 行 测

9、试 。 如 要 测 试存 储 器 中 的 任 一 位 进 行 测 试 。 如 要 测 试 AL寄 存 器寄 存 器中 的 第中 的 第 5位 的 状 态 是位 的 状 态 是 “0”还 是还 是 “1”, 则 可 利 用 以 下, 则 可 利 用 以 下指 令 实 现 :指 令 实 现 : MOV CL, 5 ; (CL)移 位 次 数移 位 次 数ROR AL, CL ; (CF)AL的 第的 第 5位位JNC ZERO ; 若; 若 (CF)=0,转转 ZARO ; 否 则; 否 则 ZERO: 微 型 计 算 机 原 理 第 五 章 汇 编 语 言 程 序 设 计2010年 7月 1日

10、Thursday 6例 一 编 程 实 现 c=a+b, 并 在 屏 幕 上 显 示 结 果解 1: 用 C语 言 实 现#include “stdio.h“int main(int argc, char* argv) int a,b,c;a=1; b=2;c=a+b;printf(“c=%dn“,c);return 0; 编 译 后 的 目 标 文编 译 后 的 目 标 文件 达 到件 达 到 3.59KB微 型 计 算 机 原 理 第 五 章 汇 编 语 言 程 序 设 计2010年 7月 1日 Thursday 7data segmenta db ?b db ?c db ?string

11、db c=$data endscode segmentmain proc farassume cs:code, ds:dataassume es:datastart:push dssub ax,axpush axmov ax,datamov ds,axmov es,axmov a,1mov b,2mov al,aadd al,bmov c,allea dx,stringmov ah,09int 21hadd c,30hmov dl,cmov ah,2int 21hmov dl,0ahint 21hmov dl,0dhint 21hretmain endpcode endsend start解

12、2: 用 汇 编 语 言 实 现汇 编 后 的 目汇 编 后 的 目标 文 件 只 有标 文 件 只 有208字 节字 节微 型 计 算 机 原 理 第 五 章 汇 编 语 言 程 序 设 计2010年 7月 1日 Thursday 8汇 编 语 言 源 程 序 的 格 式、 、 、 、 、 、 、 、 、 、 、 、 、 S=3B74AC60F8H+20D59E36C1HF8H60HACH74H3BHC1H36H9EHD5H20H、 、 、 、 、 、DATA1DATA2微 型 计 算 机 原 理 第 五 章 汇 编 语 言 程 序 设 计2010年 7月 1日 Thursday 9CODE

13、 SEGMENTASSUME CS: CODE, DS: DATA START: MOV AX, DATAMOV DS, AX MOV CX, 5 MOV SI, 0 CLC LOOPER: MOV AL, DATA2SI ADC DATA1SI, AL INC SI DEC CX JNZ LOOPERMOV AH, 4CH INT 21HCODE ENDSEND STARTDATA SEGMENTDATA1 DB 0F8H, 60H, 0ACH, 74H, 3BHDATA2 DB 0C1H, 36H, 9EH, 0D5H, 20H DATA ENDS微 型 计 算 机 原 理 第 五 章 汇

14、 编 语 言 程 序 设 计2010年 7月 1日 Thursday 10汇 编 语 言 源 程 序 的 组 织 结 构汇 编 语 言 源 程 序 的 组 织 结 构汇 编 语 言 源 程 序 采 用 的 是 分 段 结 构 , 即 一 个 汇 编 语汇 编 语 言 源 程 序 采 用 的 是 分 段 结 构 , 即 一 个 汇 编 语言 源 程 序 由 若 干 段 组 成 ( 一 般 由 数 据 段 和 代 码 段 组言 源 程 序 由 若 干 段 组 成 ( 一 般 由 数 据 段 和 代 码 段 组成 ) , 每 一 个 段 以成 ) , 每 一 个 段 以 SEGMENT语 句 开 始

15、 , 以语 句 开 始 , 以 ENDS语 句语 句结 束结 束 ,整 个 程 序 的 结 尾 是整 个 程 序 的 结 尾 是 END语 句 。语 句 。在 代 码 段 中 下 面 的 内 容 是 不 可 缺 少 的 :在 代 码 段 中 下 面 的 内 容 是 不 可 缺 少 的 :(1) 定 义 段 ( 使 用定 义 段 ( 使 用 SEGMENT/ENDS语 句 定 义 )语 句 定 义 )(2) 约 定 段 寄 存 器 和 段 的 关 系 ( 即 物 理 段 和 逻 辑约 定 段 寄 存 器 和 段 的 关 系 ( 即 物 理 段 和 逻 辑段 的 关 系 , 使 用 一 个 或 多

16、 个段 的 关 系 , 使 用 一 个 或 多 个 ASSUME语 句 实 现 )语 句 实 现 )(3) 装 填 段 寄 存 器 ( 只 装 填 数 据 型 段 寄 存 器 )装 填 段 寄 存 器 ( 只 装 填 数 据 型 段 寄 存 器 )(4) 设 置 返 回设 置 返 回 DOS的 方 法的 方 法微 型 计 算 机 原 理 第 五 章 汇 编 语 言 程 序 设 计2010年 7月 1日 Thursday 11例 如 :例 如 :MYDARA SEGMENT ; 、 、 、 、 、 、 、 、 、 ; 、 、 、 、MYDATA ENDS ; 、 、 、 、 、 、 、 、 、M

17、YCODE SEGMENT ; 、 、 、 、 、 、 、 、 、ASSUME CS:MYCODE,DS:MYDATA ; 、 、 、 、 、 、 、 、 、 、 、START:MOV AX,MYDATA ; 、 、 、 、 、 、 、 、 、MOV DS,AX ; 、 、 、 、 、 、 、 、 、 、MOV AH,4CH ; 、 、 、 、 DOSINT 21HMYCODE ENDS ; 、 、 、 、 、 、 、 、 、END START ; 、 、 、 、微 型 计 算 机 原 理 第 五 章 汇 编 语 言 程 序 设 计2010年 7月 1日 Thursday 25DATA SEG

18、MENTNUM DB 82H,68H,88HSUM DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV BX,OFFSET NUMMOV AL,BXINC BXADD AL,BXINC BXADD AL,BXMOV SUM,ALMOV AH,4CHINT 21HCODE ENDSEND START例 :微 型 计 算 机 原 理 第 五 章 汇 编 语 言 程 序 设 计2010年 7月 1日 Thursday 272.用 户 程 序 的 装 入用 户 程 序 的 装 入完 成 以 下 操

19、作 :完 成 以 下 操 作 :、 确 定 内 存 可 用 部 分确 定 内 存 可 用 部 分以 便 存 放 要 执 行 的以 便 存 放 要 执 行 的 .exe 文 件 。文 件 。、 建 立 程 序 段 前 缀建 立 程 序 段 前 缀 PSP( Program Segment Prefix) 程 序 段 前 缀 大 小程 序 段 前 缀 大 小 100H,即即 256个 字 节 。个 字 节 。 存 放 执 行 过 程 中 的 控 制 信 息 。存 放 执 行 过 程 中 的 控 制 信 息 。 PSP最 开 始 的 两 个 字 节最 开 始 的 两 个 字 节 CD20,是 一 条

20、是 一 条 INT 20H指 令 。指 令 。、 装 入 可 执 行 程 序装 入 可 执 行 程 序 .exeSPDS、 ES代 码 段INT 20H数 据 段CS:IPSSPSP(256字 节 )用 户 程 序没 有 定 义 堆 栈 段 的 用 户 程 序 装 入 情 况SPDS、 ES INT 20H数 据 段代 码 段堆 栈 段CS:IPSS用 户 程 序定 义 了 堆 栈 段 的 用 户 程 序 装 入 情 况附 加 段PSP(256字 节 )微 型 计 算 机 原 理 第 五 章 汇 编 语 言 程 序 设 计2010年 7月 1日 Thursday 28DSEG SEGMENTS

21、TRING1 DB 1,2,3,4,5DSEG ENDSESEG SEGMENTSTRING2 DB ?ESEG ENDSSSEG SEGMENT STACK STACKDW 10 DUP(?)TOP LABEL WORDSSEG ENDSCSEG SEGMENTASSUME CS:CSEG,DS:DSEGASSUME ES:ESEG,SS:SSEGSTART: MOV AX,DSEGMOV DS,AXMOV AX,ESEGMOV ES,AXMOV AX,SSEGMOV SS,AXMOV SP,OFFSET TOPLEA SI,STRING1LEA DI,STRING2MOV CX,5CLDR

22、EP MOVSBMOV AH,4CHINT 21HCSEG ENDSEND START采取了以上措施之后,程序在返回 DOS 的时候,执行一条 RET 指令即可返回 DOS。因为这条 RET 指令是远过程中的 RET 指令,它将从栈顶弹出四个字节,即把 PSP 首单元的逻辑地址反弹到 CS:IP 之中,于是 CPU 就自动从 PSP 首单元取出 INT 20H,执行它返回DOS。微 型 计 算 机 原 理 第 五 章 汇 编 语 言 程 序 设 计2010年 7月 1日 Thursday 32例 : DATA SEGMENTNUM DB 82H,68H,88HSUM DB ?DATA ENDS

23、CODE SEGMENTMAIN PROC FARASSUME CS:CODE,DS:DATASTART: PUSH DSXOR AX,AXPUSH AXMOV AX,DATAMOV DS,AXLEA BX, NUMMOV AL,BXINC BXADD AL,BXINC BXADD AL,BXMOV SUM,ALRETMAIN ENDPCODE ENDSEND START微 型 计 算 机 原 理 第 五 章 汇 编 语 言 程 序 设 计2010年 7月 1日 Thursday 40例例 从 键 盘 输 入 一 串 字 符 , 个 数 小 于从 键 盘 输 入 一 串 字 符 , 个 数 小

24、 于 50其 程 序 设 计 方 法 是 :其 程 序 设 计 方 法 是 :DATA SEGMENTBUF DB 50DB ?DB 50 DUP(?)DATA ENDSCODE SEGMENT MOV AX,DATAMOV DS,AXLEA DX, BUFMOV AH, 10INT 21HCODE ENDS50BUF 、 、 、 、 、 、 、 、 、微 型 计 算 机 原 理 第 五 章 汇 编 语 言 程 序 设 计2010年 7月 1日 Thursday 41INT 21H 常 用 功 能 介 绍( 4) 字 符 串 显 示 () 字 符 串 显 示 ( 9 # 功 能 )功 能 )功

25、 能 : 屏 幕 上 显 示功 能 : 屏 幕 上 显 示 一 串 以一 串 以 $结 尾 的 字 符结 尾 的 字 符待 显 示 字 符 串 首 单 元 地 址待 显 示 字 符 串 首 单 元 地 址 ( DS: DX)DATA SEGMENTBUF DB HOW DO YOU DO?$DATA ENDSCODE SEGMENTMOV DX,OFFSET BUFMOV AH,9INT 21HCODE ENDSHOW DOBUF、O YU DO?$微 型 计 算 机 原 理 第 五 章 汇 编 语 言 程 序 设 计2010年 7月 1日 Thursday 45例例 : 画 图 说 明 下

26、列 伪 指 令画 图 说 明 下 列 伪 指 令所 定 义 的 数 据 在 内 存 中 的 存 放所 定 义 的 数 据 在 内 存 中 的 存 放形 式 。形 式 。ARV1 DB 3+4,43H,-2ARV2 DW 474FH,1,?COUNT EQU 2ARV3 DB 2 DUP(1,COUNT DUP(2)ARV4 DD ARV3ARV5 DB ABARV6 DW AB解 : 假 设 此 数 据 段 的 段 地解 : 假 设 此 数 据 段 的 段 地址 为址 为 1234H, 即, 即 DS 1234H, 则, 则有 :有 :1234H:0000H01H02H03H04H05H06H07H08H1234H:0009H0AH0BH0CH0DH0EH0FH10H11H12H13H14H15H1234H:0016H07H43HFEHARV14FH47H01H00HARV201H02H02H01H02H02HARV309H00H34H12HARV441H42HARV542H41HARV6

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 建筑建材

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。