安徽卫视大牌驾到:关于汇编语言的问题

来源:百度文库 编辑:中科新闻网 时间:2024/05/13 04:58:18
我是真的不会做,有谁能帮我吗?先谢谢了
1.试分析下列程序段:
ADD AX,BX
JNC L2
SUB AX,BX
JNC L3
JMP SHORTL5
如果AX,BX的内容给定如下:
AX BX
(1)14C6H 80DCH
(2)B568H 54B74H
问该程序在上述情况下执行后,程序转向何处?

2 编写一段程序,比较两个5字节的字符窜OLDS和NEWS,如果OLDS字符窜不同与NEWS字符串,则执行NEW_LESS,否则顺序执行.
非常感谢你,题目确实有问题,是我的疏忽,现改正
(2) B568H 5CB7H

1、JNC是进位位判断转移语句,CF=0则转移
(1)14C6+80DC<FFFF,最高位没有产生进位,所以CF=0,跳转至L2
(2)B568+54B74
这个嘛,我想问下你确实弄对了吗?AX、BX都是16位寄存器,怎么存54B74?54B74H是20位二进制数了。

2、
mov di,offset OLDS
mov si,offset NEWS
cld
mov cx,05h
repnz cmpsb
jnz NEW_LESS
……
NEW_LESS:……

注意使用上面的程序段前要定义ES段,并将DS与ES段定义为一个段。方法如下:
data segment
OLDS db
NEWS db
data ends
code segment
assume cs:code,ds:data,es:data
start:mov ax,data
mov ds,ax
mov es,ax