求程式答案,幫幫忙呀!已知DAT1位元組單元有乙個資料。。。

2025-02-07 14:30:10 字數 3174 閱讀 3147

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篇

小時侯,真是有意思。在回憶童年的時候,感覺血一下子湧到腦子裡,把腦子一下子衝大了。小的時候,膽子很大。那時的我敢站在橋的護攔上,向下望飛馳而過的汽車。現在是不行了。小的時候,什麼東西都敢吃。那時老爺曾經告訴我 中醫說,螞蟻是補藥。於是,有一次在院裡玩時,天真的我從地上抓起乙隻螞蟻,嘎吱嘎吱 地嚼著吃...