關於彙編程式問題,關於彙編裡子程式的問題

2022-07-06 17:32:36 字數 2037 閱讀 7732

1樓:做而論道

用組合語言程式設計如下:

code segment

assume cs:code

a dw 1357h ;隨意定義兩個資料.

b dw 2468h

start: mov ax, codemov ds, ax

mov ax, a ;---------開始處理.

test ax, 1

jnz a_odd ;為奇數轉移.

mov bx, b

test bx, 1

jnz ae_bo ;為奇數轉移.

all_e: shr ax, 1 ;皆為偶數.

shr bx, 1 ;除以2

xchg ax, bx ;交換一下,再去交換存放.

jmp ae_bo

a_odd: mov bx, b

test bx, 1

jnz ae_bo ;都為奇數?

jmp _end ;否則就是a奇b偶,不用處理了.

ae_bo: mov b, ax ;要是b奇a偶,交換存放.

mov a, bx

_end:mov ax, 4c00h;-------處理完畢,是不是很簡短?

int 21h

code ends

end start

本程式已經經過除錯驗證,可以滿足題目要求。

結果,必須用debug來檢視。

用c語言程式設計就更簡單了。

關於彙編裡子程式的問題

2樓:匿名使用者

對子程式呼叫要有清晰理解。發生呼叫時,pc值會自動壓棧,子程式返回指令ret使pc值自動出棧,程式返**用指令的下一條指令處繼續執行。

在子程式中不是必須要進行push和pop的操作,如果有需要才執行這兩條指令,需要注意的是,push和pop必須配對,不然堆疊指標就被篡改了,到ret指令就不能返回正確地址了。

不進行push和pop後面也必須用ret指令返回,已返回正確地址執行程式。

彙編程式執行問題?

3樓:

彙編程式都是順序執行,如果你想跳轉到一個其他位置,必須執行跳轉指令,否則就是按順序執行。彙編沒有返回指令,返回指令都是偽指令,編譯後都是跳轉指令。。。如果你想讓一個程式不按順序執行,在彙編裡必須用到跳轉指令。。。。

c語言每個函式執行完後返回都是呼叫了跳轉指令。。。

在彙編裡,cpu的操作時詳細到每一步,比如形參傳遞,必須將形參靠指令放入參數列,然後呼叫跳轉指令,完成函式呼叫,運算中自動變數出棧入棧都必須你親自考指令完成,而且必須要儲存函式呼叫的返回地址,執行完後將函回值放到返回值位置,然後跳到這個地址,完成一次函式呼叫。。。。

當然上述過程是c語言的規則,如果是彙編程式你隨意,沒必要按照c語言的方式。。。

4樓:做而論道

很簡單,就是:一條一條的執行。

關於微機原理彙編程式問題

5樓:heart阿飛

第一步開啟easyeclipse for php軟體。

會使用的直接複製下面**,新建一個file.php好後,輸入下面提供的**。

使用while迴圈輸出9*9乘法口訣

<?php $i=1;  //使用while迴圈輸出9*9乘法口訣while($i<=9)

$i++;

echo "

";}?>

使用for迴圈輸出9*9乘法口訣

<?php //使用for迴圈輸出9*9乘法口訣for($i=1;$i<=9;$i++)

echo "";}

echo "

";?>

使用do while迴圈輸出9*9乘法口訣<?php $i=1;  //使用do while迴圈輸出9*9乘法口訣

do$i++;

echo "

";}while($i<=9)

?>

結果都如下圖

彙編程式高手進來看看,彙編程式高手進來看看

出現的主要問題是向十進位制的轉換,如二進位制1010,在螢幕上並不顯示10,而要你轉換成十進位制後才顯示 基於你寫的程式思路比較亂,這是我寫的,能顯示數字最大數為65535data segment str1 db input string,the end flag is str2 db the nu...

求平均值的彙編程式

assume cs zxc,ds qweqwe segment org 0500h db 10h,20h,30h,40h,50h,60horg 0510h db qwe ends zxc segment bg mov ax,qwe mov ds,ax mov ax,0 mov si,0500h mo...

一般用什麼軟體來寫彙編程式

組合語言 assembly language 是面向機器的程式設計語言。在彙編語閤中,用助記符 memoni 代替操作碼,用地址符號 symbol 或標號 label 代替地址媽。這樣用符號代替機器語盲的二進位制碼,就把機器語音變成了組合語言。於是組合語言亦稱為符號語言。使用組合語言編寫的程式,機器...