第3章:微机寻址和指令(编辑修改稿)内容摘要:
PUSH SRC 执行操作: (SP) (SP) 2 ( (SP)+1, (SP) ) (SRC) 出栈指令: POP DST 执行操作: (DST) (SP)+1, (SP)) (SP) (SP) + 2 堆栈: “ 先进后出 ” 的存储区 , 存在于堆栈段中 , SP在任何 时候都指向栈顶。 注意 : * 堆栈操作必须以字为单位。 * 不影响标志位 * 不能用立即寻址方式 PUSH 1234H * DST不能是 CS POP CS 8086/8088的堆栈 建栈 MOV AX , 1050H MOV SS , AX MOV SP , 000 EH 进栈 PUSH AX (设 AX=1234H) PUSH BX (设 BX=5CF8H) 1050FH 10500H 初始栈顶 (栈底) SP= 0EH SS= 1050H 堆栈起地址 栈的范围 SP= 0EH 12H 34H SP= 0CH 5CH F8H SP= 0AH 10500H (不变) 1050FH SS = 1050H 2 2 当前栈顶 进栈后的 SP和 SS的值 SP=000AH SS=1050H 进栈前 SP和 SS的值 SP=000EH SS=1050H (变化) (AX) (BX) 8086通过赋值 SS和 SP建栈 进栈操作:先 SP减 2,再内容进栈。 高 低 出栈操作:先栈顶内容出栈,再修改SP,使 SP加 2。 (字操作) 出栈 POP CX POP DS SP= 0EH 12H 34H SP= 0CH 5CH F8H SP= 0AH 10500H (不变) 1050FH SS = 1050H 2 2 当前栈顶 出栈前的 SP和 SS的值 SP=000AH SS=1050H (变化) SP= 0EH CX=5CF8H DS=1234H SS=1050H 出栈后 SP和 SS的值 SP=000EH SS=1050H SP=0AH SP=0CH +2 +2 F8H 5CH 34H 12H 1050FH 高 低 例: 假设 (AX) = 2107 H , (AH)=21H,(AL)=07H 执行 PUSH AX ( SP) 低地址 高地址 ( SP) 07H 21H 低地址 高地址 进栈方向 * * * * * * * * PUSH AX 执行前 PUSH AX 执行后 例: POP BX ( SP) 低地址 高地址 ( SP) 07H 21H 低地址 高地址 出栈方向 07H 21H (BX) 2107H,(BH)=21H,(BL)=07H (SP) (SP)+2 POP BX 执行前 POP BX 执行后 * * * * * * * * 例: PUSH DS SUB AX, AX PUSH AX …… …… RET 例: PUSH AX PUSH BX … … POP BX POP AX。 其间用到 AX和 BX寄存器 MOV AX, 4C00H INT 21H 交换指令: XCHG OPR1, OPR2 执行操作: (OPR1) (OPR2) 注意 : * 不影响标志位 * 不允许使用段寄存器 例: XCHG BX, [BP+SI]。 (BX) (PA) XCHG AL, BH。 (AL) (BH) 63H87HBH BLPA+1PA2. 累加器专用传送指令 ( 只限于使用 AX或 AL) 输入指令 IN ac, PORT。 ( I/O CPU) 长格式: IN AL, PORT ( 字节 )。 PORT=0~FFH IN AX, PORT ( 字 ) 执行操作: (AL) (PORT) ( 字节 ) (AX) (PORT+1, PORT)( 字 ) (AH) (PORT+1), (AL) (PORT) 短格式: IN AL, DX (字节)。 PORTFFH IN AX, DX (字) 执行操作: (AL) ( (DX) ) (字节) (AX) ( (DX)+1, (DX) )(字) 输出指令 OUT PORT, ac。 ( CPU I/O) 长格式: OUT PORT, AL (字节)。 PORT=0~FFH OUT PORT, AX (字) 执行操作: (PORT) (AL) (字节) (PORT+1, PORT) (AX)(字) (PORT+1) (AH), (PORT) (AL) 短格式: OUT DX, AL (字节)。 PORTFFH OUT DX, AX (字) 执行操作: ( (DX) ) (AL) (字节) ( (DX)+1, (DX) ) (AX)(字) 注意 : * 不影响标志位 * 前 256个端口号 00H~FFH可直接在指令中指定(长格式) * 如果 端口号 256, 端口号 DX(短格式) * 只限于使用累加器传送信息 例: IN AX, 28H。 MOV DX, 28H。 IN AX, DX MOV DATA_WORD, AX 例: MOV DX, 3FCH 例: OUT 5, AL OUT DX, AL 例 : 测试某状态寄存器(端口号 27H)的第 2位是否为 1 IN AL, 27H TEST AL, 00000100B JNZ ERROR。 若 第 2位为 1,转到 ERROR处理 mov dx, 100 in al, 61h and al, 11111100b sound: xor al,00000010b out 61h, al mov cx, 140h wait1: loop wait1 ; 140h决定脉冲的宽度 dec dx ; dx=100D决定脉冲的个数, jnz sound ;即 50个高电平, 50个低电平。 例 . Sound程序 设备控制寄存器 端口 61H 1 / 0 0 控制其它外部设备 与门 放大器 2号定时器门控 1 0 换码指令: XLAT 或 XLAT OPR 执行操作: (AL) (DS*16+ (BX) + (AL) ) 例: MOV BX, OFFSET TABLE。 (BX)=0040H MOV AL, 3 XLAT TABLE 指令执行后 (AL)=33H 注意 : * 不影响标志位 * 字节表格 (长度不超过 256) 首地址 (BX) * 需转换代码 (AL) (BX) 30 H F0040 31 H F0041 (AL) = 3 32 H F0042 33 H F0043 TABLE (DS)=F000H 3. 地址传送指令 有效地址送寄存器指令: LEA REG, SRC 执行操作: (REG) SRC 指针送寄存器和 DS指令: LDS REG, SRC 执行操作: (REG) (SRC) (DS) (SRC+2) 4个相继字节 寄存器 ( 通常是 SI) 和 DS 指针送寄存器和 ES指令: LES REG, SRC 执 行操作: (REG) (SRC) (ES) (SRC+2) 4个相继字节 寄存器(通常是 DI)和 ES (DS): 1000H 40 H 00 H 00 H 30 H TABLE MOV BX, TABLE。 (BX)=0040H MOV BX, OFFSET TABLE。 (BX)=1000H LEA BX, TABLE。 (BX)=1000H LDS BX, TABLE。 (BX)=0040H。第3章:微机寻址和指令(编辑修改稿)
相关推荐
新版利润及利润分配表(旅游类)(表格模板) 单位:元项 目 行次 上年同期 累计数 本年累计 数 项 目 行次 上年同期 累计数 本年累计 数营业收入: 1 不分配费用: 55客房 2 工资及福利: 56餐饮 3 行政管理 57公寓 4 市场推广 58写字楼 5 能源维修 59商场 6 607 工资及福利合计 61其他 8 行政管理及公共费用: 62营业收入合计 9 行政管理 63营业税金:
DMA写传送: IO写入 RAM IOR读 IO数据 MEMW写数据入 RAM DMA读传送: RAM读出数据 IO MEMR读 RAM数据 IOW写入 IO数据 8237操作类型和传送方式 1)操作类型(四种) DMA校验 对数据块进行效验 RAMRAM传送: 用两个 DAM通道 CH0和 CH1 CH0为源地址, CH1为目的地址
不可使用在霓虹灯上 不可印在衣服上 不可用于凉棚 不可用于任何非四色印刷的 10 标准元素: 制作物背景 在一些户外媒体 /通路 POP的背景选用上也可运用红白 冰块背景。 可变通使用举例 户外:车身 /灯箱 通路 POP:冰箱 /冰柜 /吊旗 /围裙 11 标准元素: 制作物背景 在一些简单制作物中可运用纯蓝 /纯红背景 背景的标准色号: 例如
新版累积资金结算指数计算表(表格模板) 學校名稱:項目 金額年度決算:現金銀行存款短期投資特種基金短期銀行借款長期銀行借款其他借款(民間借款)指定用途基金(註)淨貨幣資產()××學年度常態現金支出××學年度常態現金支出××學年度常態現金支出三年平均常態現金支出()累積資金結餘指數()註:基金用途 指已明確指定用途之基金,如退休基金、設校基金、外界捐贈指定用途之基金;並請依下列格式列出明細表。
应税项目; 将购进的货物用于免税项目; 将购进的货物用于集体福利、个人消费等方面; 非正常损失的购进货物; 非正常损失的在产品、产成品所耗用的原材料。 一般纳税人认证通过的防伪税控系统开具的增值税专用发票应在认证通过的当月按照增值税有关规定核算当期进项税额并申报抵扣。 海关完税凭证进项税额抵扣的时间限定:开具之日起 90天后的第一个纳税申报期结束以前向主管税务机关申报抵扣
数体。 默认生成函数体 Default 参数属性 – 操作参数的唯一代码生成属性为 CodeName。 该属性控制操作参数在代码中的名字,默认使用模型中的参数名。 4 设置代码生成属性 4 设置代码生成属性 模块体属性和模块规范属性 – 是与双向工程中的 .cpp与 .h文件相关的属性 – 构件的代码生成属性 • 构件 ANSI C++规范窗口 4 设置代码生成属性 构件 ANSI