正在加载图片...
②指令“ XCHG AX,BX”执行后,源操作数和目 的操作数都发生变化 变量 EA ③指令“ AND AX BX”和“ SUB AX1234H”执BUF3H 行后,源操作数不发生变化而目的操作数发生变化 4747阅读下面的程序,回答问题 32H 1.【程序一】 33H DATA SEGMENT BUF DB '1234 BCD 234 N=S-BUF BCD DB N DUP(?) DATA ENDS CODE SEGMENT 567 LSSUME CS: CODE. DS: DATA START: MOV AX DATA MOV DS.AX LEA SI BUF MOV CXN LEA DI BCD+N-1 LOOP1: MOV AL, [SI SUB AL 30H MOV IDIAL INC SI DEC D DEC CX JNE LOOP1 MOV AH.4CH INT 2IH CODE END END START 【问题一】画出内存分配图。 【问题二】说明程序功能程序执行后,从BCD开始的N个字节单元中的内容是什么? 【问题三】找出一条指令代替指令“ SUB AL,30H”,使程序功能不变。 【问题四】如果将代码段中的指令 LEA DI,BCD+N-1改成 LEA DI,BCD: DEC DI改成 INC DI, 其它指令不变,程序执行后,从BCD开始的N个字节单元中的内容是什么? 【问题五】取消数据段的BCD存储区,将处理后的数据放回原处,应如何修改程序? 2.【程序二】 MODEL SMALL DATA STRING DB Assemble Language is powerful N=S-STRING NEWSTR DB N DUP(O) CODE② 指令“XCHG AX,BX”执行后,源操作数和目 的操作数都发生变化。 ③ 指令“AND AX,BX”和“SUB AX,1234H”执 行后, 源操作数不发生变化而目的操作数发生变化。 4.74.7 阅读下面的程序,回答问题 1.【程序一】 DATA SEGMENT BUF DB '1234' N=$-BUF BCD DB N DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX LEA SI,BUF MOV CX,N LEA DI,BCD+N-1 LOOP1:MOV AL,[SI] SUB AL,30H MOV [DI],AL INC SI DEC DI DEC CX JNE LOOP1 MOV AH,4CH INT 21H CODE ENDS END START 【问题一】画出内存分配图。 【问题二】说明程序功能,程序执行后,从 BCD 开始的 N 个字节单元中的内容是什么? 【问题三】找出一条指令代替指令“SUB AL,30H”,使程序功能不变。 【问题四】如果将代码段中的指令 LEA DI,BCD+N-1 改成 LEA DI,BCD;DEC DI 改成 INC DI, 其它指令不变,程序执行后,从 BCD 开始的 N 个字节单元中的内容是什么? 【问题五】取消数据段的 BCD 存储区,将处理后的数据放回原处,应如何修改程序? 2.【程序二】 .MODEL SMALL .386 .STACK .DATA STRING DB 'Assemble Language is powerful' N=$-STRING NEWSTR DB N DUP(0) .CODE 变量 值 EA BUF → 31H 0 32H 1 33H 2 34H 3 BCD → 4 5 6 7
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有