1樓:
基本思路是先判斷data1中最高位是0還是1,是0就把資料低四位清0,再加上8ah,是1高四位就不用變了,直接把低四位清0,再加上0ah 程式段如下,mov al,data1
mov ah,data1
shl ah
jc next
and al,0f0h
add al,8ah
mov data2,al
next:and al,0f0h
add al,0ah
mov data2,al
還想到一種更簡單的,不管data1最高位是不是1,都把其清0,同時低四位也清0,再加上10001010b,即十六進位數8ah,這種演算法就只需四條指令了。
mov al,data1
and al,70h
add al,8ah
mov data2,al
2樓:網友
80x86具體的我也記不是很清楚了。
mov ah,[dat1]
mov al, ah
把al右移4位,然後把al左移4位,以達到把al低4位清零的目的(記不輕移位**怎麼寫了)
add al,0ah(實現低4位變成1010b)把al左移一位,再右移一位,實現把高位清零。
add al,f0h
mov [dat2],al
這樣應該就可以實現了。
彙編題目 會的幫忙寫一下,不長的,謝謝了!
3樓:甜甜圈的店鋪
由於不知道你的硬體是啥,所以我用8088的彙編指令給你寫乙個。(而如果你是微控制器或別的什麼的話,自己改改相關指令就行,設計思路不用變)。程式如下:
lea dl,dat1 ;取dat1的位址給dl暫存器。
lea dh,dat2 ;取dat2的位址給dh暫存器。
mov al,[dl] ;用暫存器間接定址,把dat1中的數給al暫存器。
and al,01110000b ;dat1中的數與01110000相與,結果送回al暫存器。
add al,10001010b ;al中的數加上10001010,實現了你說的功能。
mov [dh],al ;用暫存器間接定址,把數送到dat2
4樓:網友
我幫你做下,很簡單的,假如dat1數為a7h,乙個原則就是置0用and指令,置1用or指令。
data segment
dat1 db a7h
dat2 db ?
data ends
code segment
assume cs:code,ds:datastart:mov al,dat1
and al,fah;將低4位變為1010b的2個零實現xor al,8ah;將低4位變為1010b的2個1實現,最高位置1mov dat2,al
code ends
end start
若定義dat dd 12345678h,則(dat 1)位元組單元的資料是? 求解析過程
5樓:網友
dat dd 12345678h 在記憶體的分辯滑配 是 78h、56h、34h、孫耐12h, 它的第0位元組是78h,第1位元組則灶春是56h。
已知dat1位元組單元有乙個資料,編制程式段將該資料的奇數位置0,偶數位置1,結果送入dat2位元組單元。不要求
6樓:網友
奇數位置零可以與零相與,偶數位置一可以與一相或。
比如該資料為01111011b,先與01010101b相與,得到了01010001b,再與剛剛的01010101b相或就得到了01010101b,即先與01010101b與,再與它相或就可得到結果,按照你的要求,不管dat1中資料是多少,最後結果肯定是01010101b送給了dat2。
值得提醒你的是,先與之後,要置一的時候要保證已經清零了的位不發生變化,所以只能與01010101b相或,不然已經清零了的奇數位可能改變。
某程式中的資料定義如下: dat1 dw 1234h,5678h,'ab','cd','2' da
7樓:網友
dw=2位元組,dd=4位元組,db=1位元組,什麼你每種型別定義了多少過資料就逐個算就可以算出來啦!,答案是18
dat1 db 「abcdefghij」 dat2 db 10 dup(?) ………… lea si,dat1 lea di,dat2 mov cx,dat2-dat1 add
8樓:網友
這個程式是想將dat1中的字元倒序複製到 cx,dat2-dat1是確定dat1有多長,是通過位址差值知道的。現在cx裡是10,dec si是dat1的位址值依次遞減。
9樓:網友
lea si,dat1
lea di,dat2
mov cx,dat2-dat1是2比1add si,cx
dec si網路控制。
next: mov al,[si]mov [di],al
dec si
inc di
dec cx 值為100
jnz nex
求答案 微機原理與應用 的題哦
10樓:匿名使用者
微型計算機簡稱「微型機」、「微機」,由於其具備人腦的某些功能,告御所以也稱其為「微電腦」橋遊。是襪消巖由大規模積體電路組成的、體積較小的電子計算機。
11樓:匿名使用者
這個中間一段有點難度的。
跪求:請大俠幫幫我!怎樣用c語言編寫並讀取按二進位儲存,每三個位元組儲存兩個數,乙個數12bit的.dat檔案
12樓:網友
每三個位元組儲存兩個數,乙個數12bit。這個怎麼解析?
還有你要畫圖還是解析出來資料就行了?
13樓:網友
假設3個位元組是 ab cd ef
2個數是什麼?0xdab和0xefc?
你不會要我們去看所有資料整理出這些吧?
讀資料的話,就位元組拼湊,若是上面的描述就是<<8);
data[n+1]=(byte[n*3+1]>>4)+(byte[n*3+2]<<4);
大家幫幫忙急求答案幫幫忙啊!下面是文章和問題,答案要詳細一點!幫幫忙啊
1 小李生活在農村經濟問題是他遇到所有問題首先去思考的角度,所以小李會經常把問題引向錢上面去。2 小李由滿懷希望,想大幹一番的精神狀態,一下子因得了腎炎而跌入了自卑絕望的心境,覺得未來無望。3 小孔這時應該多鼓勵小李調整好心態,人生路還長著,小李只是暫時遇到一點挫折,把這一坎跨過去就好了。有什麼問題...
c語言程式程式設計!跪求答案!哪位好心人幫幫忙啊
include void main void longest char string 100 t k j 把最後一個字串也要加進去。a k for m 0,k 0 m a m k 將陣列t k 中的所有元素複製到另一個陣列c m c m t k max t 0 設max為最大 for b 0 b a...
各位幫幫忙吖 求週記1篇
小時侯,真是有意思。在回憶童年的時候,感覺血一下子湧到腦子裡,把腦子一下子衝大了。小的時候,膽子很大。那時的我敢站在橋的護攔上,向下望飛馳而過的汽車。現在是不行了。小的時候,什麼東西都敢吃。那時老爺曾經告訴我 中醫說,螞蟻是補藥。於是,有一次在院裡玩時,天真的我從地上抓起乙隻螞蟻,嘎吱嘎吱 地嚼著吃...