-
test指令"只是用来设置条件码"----这个条件码到底是个什么东东?书上只是一笔带过,没有做什么有意义的解释。究竟如何理解呢?什么情况下我们编一个程序可能需要用到test指令?大牛说说看。llkjkk 时间:01-03 + 阅读全文
-
如何保证"设置栈顶要连续"? 如果被打断了怎么办?CLI是屏蔽中断的,因为我可能在运行一个中断设置的功能,要保证此时没有什么中断在运行。那么,我在调整堆栈的时候,如何保证"设置栈顶要连续"呢?难道也有什么指令是用来屏蔽对于堆栈操作的?谢谢。avata163 时间:01-03 + 阅读全文
-
DIV指令到底是用AX作为被除数还是AX+DX作为被除数,如何区分?DIV20这句话的意思到底是AX/20呢,还是(DX*63356+AX)/20呢如何区别不同长度的除法?谢谢!llkjkk 时间:01-03 + 阅读全文
-
逻辑地址和线性地址的问题用softice看了一下GDTselecttypebaselimit0008code3200000000FFFFFFFF0028TSS3280042000000020ABbase就是线性地址,0008:00000000-0008:FFFFFFFF如果0008:80042000那么它的线性地址不就是80042000了吗?那么线性地址也应该是唯一的,这样的话WJN92 时间:01-03 + 阅读全文
-
cwd是字到双字的转换,那么现在的eax已经是32位了,还需要ax->dx的扩展么?如题。cwd这样的指令,是否还是需要的?或者说,在386以后的cpu里面,用法有不一样了?谢谢!llkjkk 时间:01-03 + 阅读全文
-
可屏蔽中断允许,在一般的汇编程序当中,都完成了什么事情?什么情况下在汇编程序中可能会用到可屏蔽中断允许CLI/SLI指令?能不能给个简单的实例呢?谢谢了。avata163 时间:01-03 + 阅读全文
-
方向标志位到底有什么用?CLD/SLD设置的方向标志位到底有什么用?串操作不都是从头向后的吗?难道还有从后向前的?如果是从后向前,程序如何知道从哪里开始到哪里结束呢?想不明白了。大牛们说说看哈avata163 时间:01-03 + 阅读全文
-
32位模式下,段寄存器寻址还是20位的地址么?8086的段寄存器相当于一个x16的基地址。如果我指定.modelflat的话:movax,es:[1234H]是否还是ax<--(16xes+1234H)呢?谢谢!llkjkk 时间:01-03 + 阅读全文
-
1) 在数据段中依次存入10,11,12,13,14,15,16,17,将其相加,并将结果存入DX寄存器。我的代码是:datasegment data1db10,11,12,13,14,15,16,17 dataendscodesegment assumecs:code,ds:data start: movax,data movds,ax movcx,8h movdx,rainfoxer 时间:01-03 + 阅读全文