计算机组成 指令 系统 汇编语言的知识.ppt
文本预览下载声明
* 10假设某条指令的一个操作数采用寄存器间接寻址方式,指令中给出的寄存器编号为8,8号寄存器的内容为1200H,地址为1200H的内存单元中的内容为12FCH,地址为12FC的内存单元的内容为38B8H,而38B8H单元的内容为88F9H,则该操作数的有效地址为() A 1200H B 12FCH C 38B8H D 88F9H * 教学机的汇编语言程序设计 要设计汇编程序必须首先知道有哪些汇编语句可用(指令),每个语句实现的功能和具体使用方法,可能用到的数据或主存地址的书写方式; 最常用的程序流程控制,包括顺序执行,必转或者条件转移执行,循环执行,子程序调用与返回执行等,这些程序的流程结构对任何程序设计语言都是类似的。 程序设计的主导思想是如何用一种语言写出解决问题的过程和具体算法,切不可变成试用各种语句的一个操作过程。 * TEC-2机的基本指令(实验手册新) 数据移动指令 MOV DR,SR MOV DR,DATA MOV DR,DATA[SR] MOV DR,[SR] MOV DR,[ADR] MOV DATA[SR],DR MOV[DR],SR MOV[ADR],SR 堆栈操作指令 PSHF PUSH DR POPF POP DR 输入输出指令 IN、OUT 算术逻辑运算指令 NOT DR INC DR DEC DR ADD DR,SR AND DR,SR SUB DR,SR ADC DR,SR OR DR,SR SBB DR,SR CMP DR,SR XOR DR,SR TEST DR,SR ASR DR SHL DR RCL DR SHR SR RCR DR MUL SR DIV SR 控制、转移指令 JR ADR JP SR JP ADR JR CND,ADR JP CND,SR JP CND,ADR IRET EI DI STC CLS CALL SR CALL ADR RET 其它指令: NOP LDMC HALT * 典型的汇编程序执行流程 分支执行 JR NZ,ADR指令 指令 i 指令 i +2 指令 i +3 指令 j 指令 i 指令 i +1 指令 i +2 循环执行 JR NZ,ADR指令 指令 i+4 指令 i 指令 i +1 指令 i +2 顺序执行 (Z=1) (Z=1) * 典型的汇编程序执行流程 指令 j 指令 j +1 … 子程序调用 与返回执行 指令 i 指令 i +2 指令 i +3 CALL指令 RET 指令 i JP/JR指令 指令 i +2 转移执行 指令 i +3 指令 j (i+1) * 教学计算机中的汇编程序的例子 例1:设计一个程序,完成 16进制的 22+120 的计算。 A800 ↙ ; 从内存RAM区的起始地址 16进制的800 开始 800: MOV R0, 0022 ;把被加数送入R0 802: MOV R1, 0120 ;把加数送入R1 804: ADD R0, R1 ;执行加法运算并保存运算结果 805: RET ;每个用户程序都必须用RET指令结束 806:(按回车键即结束源程序的输入过程) 说明:1、程序中给出的数是16进制的,使得实现汇编器程序可以更简单; 2、要完成数据运算,被运算数据要送到寄存器中之后才能进行计算; 3、用户程序选用 RET 语句结束,与监控程序处理用户程序方法有关。 33 * 教学机的汇编程序的例子 例2:例:设计一个小程序,完成在屏幕上输出0~9 十个数字符。源程序如下: A800↙ MOV R2,0A ;置计数器初值:输出字符个数 MOV R0,30
显示全部