汇编视频25里有个错误,可能我不是第一个发现的,但是还是说一下
题目要求将ffff6H地址的内存单元的值(一个字节),乘3,放到寄存器dx中正确的程序如下:
assume cs:mycode;假设mycode为代码段
mycode segment;定义一个段,段名为mycode
beg:;标号
mov ax,0ffffH
mov ds,ax
mov bx,0006H
mov ah,0
mov al,
mov dx,0
mov cx,3
lo:add dx,ax
loop lo
inc bx
mov ax,4C00H;程序返回
int 21H
mycode ends;结束段
end beg;结束程序,同时告诉编译器,程序入口的标号是beg
视频里面说mov ah,0 mov al, 这两句是多此一举,可以改为 mov ax,
这个观点是错误的,假设ffff6的内存是这样的: F2 EB
mov ah,0
mov al,结果ax为 00F2H
mov ax, 结果ax为EBF2H,乘3就越界了
视频里面说mov ah,0 mov al, 这两句是多此一举,可以改为 mov ax,
这句话的确是错的,后者以word形式传递数据,前者以byte形式传递数据 看帖就要回帖支持下 看看老帖,支持下
页:
[1]