組合語言PUSHCH合法嗎?為什麼

2021-03-03 20:45:32 字數 926 閱讀 1286

1樓:匿名使用者

不合法,push語句16位下支援的是字操作,ch是位元組操作,所以是不合法

附:格式: push oprd

功能: 實現壓入操作的指令是push指令

說明:1. oprd為16位(字)運算元,可以是暫存器或儲存器運算元.

2. push的操作過程是: (sp)<--(sp)-2,((sp))<--oprd 即先修改堆疊指標sp(壓入時為自動減2),然後,將指定的運算元送入新的棧頂位置.

此處的((sp))<--oprd,也可以理解為: [(ss)*16+(sp)]<--oprd 或 [ss:sp]<--oprd

2樓:匿名使用者

你說的是cx的ch嗎?

求大神詳細解釋每一句組合語言的意思 l1: push cx mov cx,300 l

3樓:匿名使用者

l1: push cx ;cx的值壓入堆疊儲存,它的數值表示總共畫多少行

mov cx,300 ;cx=300,意思是迴圈300次,在螢幕上每行畫出300個點

l2:mov ah,0ch ;ah=0ch,int10h的0c號功能是寫一個畫素點

mov al,12 ;al=12 ,表示顏色

int 10h ;呼叫中斷 int 10h 寫一個畫素點

loop l2 ;迴圈,共畫cx=300個點

pop cx ;從堆疊中彈出cx

inc dx ;cx加一 ,換行,每行再畫300個點

loop l1; ;迴圈

組合語言是做什麼會用到?c語言是組合語言嗎

呵呵 俺來給你一個滿意的回答吧 1 組合語言等同於計算機的機器指令 它是用助記符號表示的機器指令 二者一一對應的 使用組合語言編寫程式 可以直接控制計算機的硬體 組合語言編的源程式需要查表翻譯成 機器指令即目標 才能被計算機執行 在微控制器嵌入式系統中 可以使用組合語言編寫程式 佔用的儲存器空間小 ...

組合語言程式設計

data segment str1 db this is a string.a cnt db 0 data ends code segment assume cs code,ds datastart mov ax,data mov ds,ax lea si,str1 l again mov al,a...

如何學習組合語言,學習組合語言需要如何入門?

學習組合語言過程 一,要有一定的微機硬體基礎知識,因為彙編很底層,更加接近機器語言,往往很多的東西要從機器層面來支援理解。二,最好先學習一門高階語言,因為高階語言更接近人的語言,相對比較容易理解。掌握了一門高階語言後再學彙編,一來不易產生畏懼感,二來遇到問題,只能侷限於已學的彙編知識來來思考遇到的問...