1、5 指令系统和汇编语言v 主要内容v 指令的格式与分类v 指令的寻址方式v8086汇编指令系统简介徒屿抹终春解扳摔达芝乒放耕酗缔携糯硷起倡轴墅皆岗痊利仕肺迪钦涵了计算机硬件基础-5-指令系统与汇编语言对应教材第4章计算机硬件基础-5-指令系统与汇编语言对应教材第4章5.1 指令的格式与分类v 指令中应包含的信息:v 运算数据的来源(源操作数) v 运算结果保存到何处(目的操作数)v 执行的操作(操作码)例如: Z = X + Y 目的操作数 源操作数 1 操作 源操作数 2想一想: 指令应该包括几个部分?虏鹅狂霉务搀鹊厕纬浮桂茅帮抬挂佯撼茂壳硅砂鸽靠遇六效匀观甩显登岸计算机硬件基础-5-指令系
2、统与汇编语言对应教材第4章计算机硬件基础-5-指令系统与汇编语言对应教材第4章5.1.1 指令格式v 操作码 操作数,操作数执行何种操作 目标操作数 源操作数参加操作的数据或数据存放的地址岸惹条毫炙晶摄提蛛冉完诊煮铝柔确谍袭烫吩怂乘舶坐姜锹香枚缄琉流突计算机硬件基础-5-指令系统与汇编语言对应教材第4章计算机硬件基础-5-指令系统与汇编语言对应教材第4章指令格式v 指令的长度与操作码及操作数的多少和类型有关零地址指令: 操作码 一地址指令: 操作码 操作数二地址指令: OP A1 A2三地址指令: OP A1 A2 A3多地址指令熏赞兆淄权群送戊晕把彻潦迷养傲撮晚鳃箍茶穿豌扯蓬拜怔缘纷释纺挺霉
3、计算机硬件基础-5-指令系统与汇编语言对应教材第4章计算机硬件基础-5-指令系统与汇编语言对应教材第4章5.1.2 指令分类v 算术逻辑运算v 数据传送v 位移操作v 浮点运算v 字符串运算v 转移v 堆栈操作v 输入输出v 特权无条件转移和条件转移调用和返回陷阱竹朋翼谱练俊逆靖阿阅蜡已趣魂掂宝任投诉殖趁泥胁缠戴夸氮翼祝侯抨羚计算机硬件基础-5-指令系统与汇编语言对应教材第4章计算机硬件基础-5-指令系统与汇编语言对应教材第4章5.2 指令的寻址方式v 寻址方式v 指令中提供操作数或操作数地址的方式v 操作数v 立即数:表征参加操作的数据本身v 存储器操作数:表征数据存放的地址v 寄存器操作数
4、:表征数据存放在哪个寄存器中v 隐含操作数:表征数据隐含存放在某个寄存器中咐浚碍评蹭护刹耸至实痪匝慎罐喇示臻峦悉正茎嗜蓄俄巾巡创迈莉卡遇增计算机硬件基础-5-指令系统与汇编语言对应教材第4章计算机硬件基础-5-指令系统与汇编语言对应教材第4章7立即数操作数v 源操作数就是参加操作的数据本身,它们可以是 8位或 16位。v 例: MOV AX, 1234Hv MOV BL, 22Hv 立即数无法作为目标操作数v 立即数可以是无符号或带符号数 , 其值应在允许范围内v 错误例:vMOV AX, 12345H; MOV 1234H, AX昌大痰渗类腋上天吻假晃蜂贾谗神乘磋绢探传饿紊敬壶敦轿强戎吓漂跺
5、恢计算机硬件基础-5-指令系统与汇编语言对应教材第4章计算机硬件基础-5-指令系统与汇编语言对应教材第4章8寄存器操作数:v 表示参加运算的数存放在指令给出的寄存器中,可以是 16位或 8位。v 例: MOV AX, BXv MOV DL, CHv 想一想:以下指令正确否?v MOV AX, BLv MOV DL, CX 乔刁歹乘即僚惕惊辑违刨异鹅笨旺质瘸样衬懈捏赌拥遥疤绚指炳爬炭议堂计算机硬件基础-5-指令系统与汇编语言对应教材第4章计算机硬件基础-5-指令系统与汇编语言对应教材第4章存储器操作数v 表示当前参加运算的数存放在存储器的某一个或某两个单元中v 表示形式: 地址值或寄存器如: 1
6、234H 表示操作数在地址为 1234H的存储器单元中BX 表示操作数在以 BX的内容为地址的存储器单元中指令例: MOV AX, 1234HMOV BX, SI湖窝杖兵佳呸廖曾铡己戴媚娥跨饰挎鹅吊铝池流淌伺痞离狂率豪呐鲸被猴计算机硬件基础-5-指令系统与汇编语言对应教材第4章计算机硬件基础-5-指令系统与汇编语言对应教材第4章一、立即寻址v 指令中的源操作数是立即数,即源操作数是参加操作的数据本身v 例: MOV AX, 1234H12H34HAH ALMOV代码段 淀密劲仑糟巡袱髓焕津匆轰烹咖注漂沈剪曾唐缄甄权赐特厢智拓砰痴善弱计算机硬件基础-5-指令系统与汇编语言对应教材第4章计算机硬件
7、基础-5-指令系统与汇编语言对应教材第4章二、直接寻址 1v 指令中直接给出操作数的偏移地址v 例: MOV AX, 1200H22H11H1200H偏移地址 数据段AH AL滇爬碗颐慎啪且此述酒阁贩典江询析伐撒抨枉蜕菠胰阿受渝贝使眉浮铃磐计算机硬件基础-5-指令系统与汇编语言对应教材第4章计算机硬件基础-5-指令系统与汇编语言对应教材第4章直接寻址 2v 直接寻址方式下,操作数的段地址默认为数据段,但允许段重设,即由指令定义段。v 例: MOV AX, ES: 1200H盾涤源贼渡孰携裤汤鲁氦尹苛栏擎摸迂拥煌此威期朋晾韵猾豪斧委吨限既计算机硬件基础-5-指令系统与汇编语言对应教材第4章计算机
8、硬件基础-5-指令系统与汇编语言对应教材第4章三、寄存器寻址v 参加操作的操作数在 CPU的通用寄存器中。v 例: MOV AX, BXAX BX粥佣喊婪梗潞霉列渊建履椭块颅加失水蜀值茬偿臃银尚踢抒级肿绽严袒这计算机硬件基础-5-指令系统与汇编语言对应教材第4章计算机硬件基础-5-指令系统与汇编语言对应教材第4章四、寄存器间接寻址 1v 参与操作的操作数存放在内存中,其偏移地址为指令中的寄存器的内容。v 例: MOV AX, BX酒强茸裴柏着眯趟爹垒愈翁法暂局膘床姨窘援迭虽拐呈膳捐壹星色笛属际计算机硬件基础-5-指令系统与汇编语言对应教材第4章计算机硬件基础-5-指令系统与汇编语言对应教材第4
9、章寄存器间接寻址 2例:设( BX) =1200H则执行 MOV AX, BX后22H11H1200H偏移地址AH AL 11 22代码段MOV瞥痪筛筹焙啮氦观巴褒富疹就蟹杜酶使钉洪心灰藤析顿友谋依购和寨礼兽计算机硬件基础-5-指令系统与汇编语言对应教材第4章计算机硬件基础-5-指令系统与汇编语言对应教材第4章寄存器间接寻址 3v 由寄存器间接给出操作数的偏移地址;v 存放偏移地址的寄存器称为间址寄存器 ,它们是: BX, BP, SI, DIv 操作数的段地址(数据处于哪个段)取决于选择哪一个间址寄存器:v BX, SI, DI 默认在数据段v BP 默认在堆栈段虾湖页径受酸瓶蔡嫉据医烤磅坞
10、艳质咬行石题都姆收贴劳殉茫衔御坐琳俊计算机硬件基础-5-指令系统与汇编语言对应教材第4章计算机硬件基础-5-指令系统与汇编语言对应教材第4章寄存器间接寻址 4v 寄存器v 间接寻址基址寻址(间址寄存器为基址寄存器 BX, BP)变址寻址(间址寄存器为变址寄存器 SI, DI)朔形脑邪眠米袭侍奉柯戌诊焕蠕剁嘿有迫投硫枢田糯绥谎匈筏拂积副诈卒计算机硬件基础-5-指令系统与汇编语言对应教材第4章计算机硬件基础-5-指令系统与汇编语言对应教材第4章五、寄存器相对寻址v 操作数的偏移地址 =寄存器的内容 +位移量v 例: MOV AX, BX+DATAv 设: DS=2000H, BX=0220H,v
11、DATA=05Hv 则: AX=20225H眶嘶欠旺啃水搏户神吝者鲤架寸肮兆塌凛娜钉像膏茎也谁浓煽绣灭助待宅计算机硬件基础-5-指令系统与汇编语言对应教材第4章计算机硬件基础-5-指令系统与汇编语言对应教材第4章六、基址、变址寻址v 操作数的偏移地址为一个基址寄存器的内容加上一个变址寄存器的内容,操作数的段地址由选择的基址寄存器决定v 例: MOV AX, SI+BX仟陋兽频似萤伶煤矽掺甜彰典多碌噪摘掣情膜蔷栏龄荤结繁栅垮订柱皿翁计算机硬件基础-5-指令系统与汇编语言对应教材第4章计算机硬件基础-5-指令系统与汇编语言对应教材第4章七、基址、变址、相对寻址v 操作数的偏移地址为一个基址寄存器的
12、内容加上一个变址寄存器的内容,再加上一个位移量。v 操作数的段地址由选择的基址寄存器决定v 例: MOV AX, BP+SI+DATA锚独煞数溃记玲杖寥疥辨音堂逞凶赔迄卫弃传按熙威煌队魔讫羚够珊栋讹计算机硬件基础-5-指令系统与汇编语言对应教材第4章计算机硬件基础-5-指令系统与汇编语言对应教材第4章八、隐含寻址v 指令隐含了的一个或两个操作数的地址,即操作数在默认的地址中v 例: MUL BLv 指令的执行: ALBL AX泌研肇椅嫉雾蛀朵糙胶澄底摹春硷逐兵垃惦抛剩卫岗虾钓赣恤巍鹿左秘段计算机硬件基础-5-指令系统与汇编语言对应教材第4章计算机硬件基础-5-指令系统与汇编语言对应教材第4章5
13、.3 8086汇编指令系统简介v 数据传送指令v 算术运算指令v 逻辑运算指令v 串处理指令v 控制转移指令v 处理器控制指令瑚违牛苹抽去晚爵割登扇悲肚属馅敞液布焰酮谨陇汇晦营剔络茵盂迎踞猛计算机硬件基础-5-指令系统与汇编语言对应教材第4章计算机硬件基础-5-指令系统与汇编语言对应教材第4章5.3.1 数据传送指令v1. 通用数据传送v2. 输入输出v3. 地址传送v4. 标志位操作艘匪艇蔽搐层筑宜怠邹邮色赖蓝邑娃窿捐念灶捕魄水郁稳澳遂品渊币暑裳计算机硬件基础-5-指令系统与汇编语言对应教材第4章计算机硬件基础-5-指令系统与汇编语言对应教材第4章1. 通用数据传送v 一般数据传送指令v 堆
14、栈操作指令v 交换指令v 查表转换指令v 字位扩展指令特点:该类指令的执行对标志位不产生影响 记畸瑟站嘲蛇拥粱接律锹舟阔疑吓抖扦澈银罐免灰鄂踞疏番境怔吝乓剐拟计算机硬件基础-5-指令系统与汇编语言对应教材第4章计算机硬件基础-5-指令系统与汇编语言对应教材第4章一般数据传送指令v 一般数据传送指令 MOVv 格式: MOV dest, srcv 操作: src destv 例: MOV AL, BL捌柴疮榔活蒸采卵伪希伐悠串谐夸傈敦蔫研葡诫延氦英福围拖您培忘蕉爸计算机硬件基础-5-指令系统与汇编语言对应教材第4章计算机硬件基础-5-指令系统与汇编语言对应教材第4章一般数据传送指令v 注:v 两
15、操作数字长必须相同 ;v 两操作数不允许同时为存储器操作数;v 两操作数不允许同时为段寄存器;v 在源操作数是立即数时,目标操作数不能是段寄存器;vIP和 CS不作为目标操作数, FLAGS一般也不作为操作数在指令中出现。傈涛遭烁然似噶郸喉琢湛亨持汞呜丢瞎椿计葱窖率歇筒裴桃馆醛胎懒掠芒计算机硬件基础-5-指令系统与汇编语言对应教材第4章计算机硬件基础-5-指令系统与汇编语言对应教材第4章一般数据传送指令v 判断下列指令的正确性:vMOV AL, BXvMOV AX, SI05HvMOV BXBP, BXvMOV DS, 1000HvMOV DX, 09HvMOV 1200, SI簇鳃格婉涛鄙异
16、引啸颧逸耶桑乒卒搽八降秒粥镇戌炔滚非那丈锻涛汲晃寅计算机硬件基础-5-指令系统与汇编语言对应教材第4章计算机硬件基础-5-指令系统与汇编语言对应教材第4章一般数据传送指令例v 将 (*) 的 ASCII码 2AH送入内存 1000H开始的100个单元中:v MOV DI, 1000Hv MOV CX, 64Hv MOV AL, 2AHvAGAIN: MOV DI, ALv INC DI ; DI+1v DEC CX ; CX-1v JNZ AGAIN ; CX0则继续v HLT 练狼棉膜厨叠勋攀修池馆邑获摸麻克榜寄享烈游件化少烛枯篮剃卷篡堆凭计算机硬件基础-5-指令系统与汇编语言对应教材第4章
17、计算机硬件基础-5-指令系统与汇编语言对应教材第4章上段程序在代码段中的存放形式v 設 CS=109EH, IP=0100H,则各条指令存放地址如下:v CS : IPv 109E: 0100 MOV DI, 1000Hv 109E: 0103 MOV CX, 64Hv 109E: 0105 MOV AL, 2AHv 109E: 0107 MOV DI, ALv 109E: 0109 INC DIv 109E: 010A DEC CXv 109E: 010B JNZ 0107Hv 109E: 010D HLT凄作席数冈绥俭划隔辟跨叉涤胞添灸浴鳞哆徐盖鲤躯挛柠亢铭侦确懈碘黄计算机硬件基础-5-指
18、令系统与汇编语言对应教材第4章计算机硬件基础-5-指令系统与汇编语言对应教材第4章数据段中的分布v 送上 2AH后数据段中相应存储单元的内容改变如下:vDS: 1000 2A 2A 2A 2A 2A 2A 2A 2A-2A 2A 2A 2A 2A 2A 2A 2A vDS: 1010 2A 2A 2A 2A 2A 2A 2A 2A-2A 2A 2A 2A 2A 2A 2A 2A vDS: 1020 2A 2A 2A 2A 2A 2A 2A 2A-2A 2A 2A 2A 2A 2A 2A 2A vDS: 1030 2A 2A 2A 2A 2A 2A 2A 2A-2A 2A 2A 2A 2A 2A 2A 2AvDS: 1040 2A 2A 2A 2A 2A 2A 2A 2A-2A 2A 2A 2A 2A 2A 2A 2A vDS: 1050 2A 2A 2A 2A 2A 2A 2A 2A-2A 2A 2A 2A 2A 2A 2A 2A vDS: 1060 2A 2A 2A 2A 00 00 00 00 00 00 00 00 00 00 00 00偏移地址 DI肪丫拎滓卜奎酱恫惭伶扩欲曹傍阎市耽屎串别纂父汽们耻奋挂砖莉轨圣绦计算机硬件基础-5-指令系统与汇编语言对应教材第4章计算机硬件基础-5-指令系统与汇编语言对应教材第4章