1樓:網友
ptr 是記憶體單元大小的字首說明符,要以byte、word、dword、near、 far 等作為字首使用。
如:mov byte ptr [si], 12mov word ptr [si], 1234mov dword ptr [si],1234567jmp near ptr @1
jmp far ptr @2
2樓:網友
不知道你對c語言熟悉不熟悉。
可以用c語言中的乙個技術點來作比較:
c裡定義乙個char 型別的陣列。
char a = ;
如果這樣使用 short b = *(short*)a);
這樣,就把char陣列前面2個字元1,2轉換為短整形資料:b=513; 0x201;
彙編裡ptr 和這個功能類似,資料區字義。
a db 1,2,3,4,5,6,7
當使用資料時,mov ax, word ptr a
則會把a中的前2個byte,當作乙個資料讀取到ax中,word指明瞭,把資料區。
變數a當作word型別來處理,同理:
定義 dw a 0102h
move al, byte ptr a,則會只處理乙個byte.
ptr 提供了一種讓你在不同型別資料之間,自由變換的方法。
組合語言 關於length運算子問題 定義上說如果是用dup說明的就返回dupl外層的值 否則全返回
3樓:網友
不要用length、size這兩個運算子,這兩個運算子對用dup定義的變數有意義,但是對普通變數一點意義都沒有。應該用lengthof和sizeof這兩個運算子 。
dseg segment
k1 db 10h,20h,30h,40hx1 db 30h,33h,10h dup(1ah),?
dseg ends
cseg segment
assume cs:cseg, ds:dsegbegin:
mov ax, dseg
mov ds, ax
mov ax, lengthof k1 ;結果是4mov ax, lengthof x1 ;結果是13hmov ah, 4ch
int 21h
cseg ends
end begin
4樓:袁曉桓
學彙編剛好學到,是怎樣子的:length運算子用於變數的前面,如果有dup,則返回最外層的n值(注意是最外層),否則恆返回1.
所以問題1返回1,而不是4
問題2返回10h
就是這樣,o(∩_o~
我是ce小白,求高手指點一下圖中的組合語言各是什麼意思
5樓:網友
ebx esi ecx都是暫存器。每個暫存器的功能都不一樣,前面的e代表是的32位的 這應該是32位的x86微控制器 ,mov [ebx+14],esi是指把esi暫存器裡面的值傳到[ebx+14]這個位址去,至於功能是什麼要看你要做什麼,**是**的都不知道,還有這裡的14不要轉換什麼進位,這只是說為在ebx的位址上偏移14個單位而已。偏移位址你根據你要實際實現的功能來的啊。
6樓:科密
label是定義跳轉標籤,mov[ebx+14],esi是吧esi的值傳給[ebx+14],mov esi,[ecx+18],jmp是跳轉指令,例如jmp returnhere就是跳轉到returnhere這個標籤的位置!
組合語言中邏輯運算子怎麼計算
7樓:網友
就是按數位電路中的邏輯運算來計算。
c語言小白求問,,第66題,,c和d是怎麼進行運算的,指向哪乙個內容
8樓:網友
答案是a
其中c:(*ptr + 1) +2
的優先順序最高。
所以*ptr 此時ptr[0]的內容,也就是a[0]
a[0] +1 + 2也就是a[0][3]的 位址。
d具有一定的迷惑性,注意ptr是乙個指標陣列,但不同於二維陣列。
ptr[0]指向了二維陣列a的第一行。但是ptr[1]和ptr[2]並沒有賦值(也就說他們並沒有指向二維陣列的第二行和第三行)
所以d中的。
(ptr + 1)[2])
ptr + 1是ptr[1]指向的一維陣列的位址,但因為這裡沒有初始化過,所以其內容是未知的。
ptr + 1)[2] 其實就是ptr[3]的內容,顯然這個內容更不存在了。
ptr+1)[2] 取的是ptr指標陣列的第四個指標,指向的陣列中的第乙個元素。
程式設計小白求教,這段程式**出錯了?(c++)
9樓:網友
letter 與數字之間空格不要就可以了。
組合語言的操作符offset具體有什麼用?求詳細解答
簡單說,是指一個地址。如 mess db hello 顯然,mess是一個地址,它存放著 hello 這個字串。如何將mess的地址放入dx暫存器呢,可用兩種不同的指令 1 lea dx,mess 2 mov dx,offset mess他們的作用是等價的。這個函式中不止一個單元格哦 關鍵是offs...
在c語言中,運算物件必須是整型數的運算子是什麼
d.取餘操作符的運算元必須是整型 c語言中運算子和表示式數量之多,在高階語言中是少見的。正是豐富的運算子和表示式使c語言功能十分完善。這也是c語言的主要特點之一。c語言的運算子不僅具有不同的優先順序,而且還有一個特點,就是它的結合性。在表示式中,各運算量參與運算的先後順序不僅要遵守運算子優先順序別的...
c語言中的位運算子中 按位取反 是怎麼運算的
使用 按位取反運算的時候,計算機會將運算元所對應的二進位制表示式的每一版 個位進行取反權計算,取反後所得到的值就是 按位取反的運算結果。例如,假如計算機是32位的,接下來要計算 5的值,計算過程如下 5 的二進位制表示式為 0000 0000 0000 0000 0000 0000 0000 010...