ALMOVAX,匯編程序?qū)Ψ柕刂返奶幚韱栴}NASM TASMMASM不管是哪個(gè)編譯器,它的處理方法都是一樣的,都是匯編語言定義的,所以任何編譯器之間都不會有區(qū)別。比如movAL和al/AX的作用就是將AL/AX的數(shù)據(jù)發(fā)送到IO地址,如果IO地址大于FFH,則需要將地址放入DX中,默認(rèn)使用Al寄存器輸出字節(jié),默認(rèn)使用AX寄存器輸出字。
不同的匯編編譯器有不同的注釋。你用什么編譯器?GNUas支持/* */NASM、MASM和TASM不支持多行注釋;可以;評論;評論;評論;要實(shí)現(xiàn)的注釋。如果注釋太長,無法在一行中完成,應(yīng)該在第一列開始單獨(dú)的一行,但不應(yīng)該頻繁使用,以避免淹沒代碼行。如果是多行注釋,可以寫成注釋塊,注釋塊和代碼行之間用空注釋行隔開,如下:Inlinecommentblock。關(guān)于空調(diào),
in和out都是IO操作指令,比如Out指令:OUTPORT NO/DX。AL/AX的作用是將AL/AX的數(shù)據(jù)發(fā)送到IO地址。如果IO地址大于FFH,該地址需要放入DX中。輸出字節(jié)時(shí),默認(rèn)使用Al寄存器;輸出字時(shí),默認(rèn)使用AX寄存器。例如:可移動(dòng),10H//(從I/O口70H輸出字節(jié)10H)out 70H,ALMOVAX,
3、匯編器對符號地址處理的問題NASM TASMMASM無論哪個(gè)編譯器,它的處理方法都是一樣的,都是用匯編語言定義的,所以任何編譯器之間都不會有區(qū)別。MOVDX,CF是把CF的值傳遞給DX,DX會在編譯鏈接的過程中給出實(shí)際值,而且是直接尋址MOVDX,【CF】是將CF指向的單元值轉(zhuǎn)移到DX,這里是1234H,而且是間接尋址MOVDX,OFFSETCF以寄存器SI的值(如果沒有內(nèi)存錯(cuò)誤的話)為基值,offset CF指向的單元值轉(zhuǎn)移到DX,相當(dāng)于Movdx。