用組合語言編寫程式計算y a

時間 2021-09-08 02:47:45

1樓:匿名使用者

a.s檔案:

.syntax unified

.arch armv7-m

.cpu cortex-m3

.thumb

/** y = a * x^2 + b - c

* int func1(int a, int b, int c, int x);

* @param

* r0 = a, r1 = b, r2 = c, r3 = x

* @return: y = r0

*/.global func1

func1:

mul r0,r0,r3

mul r0,r0,r3

add r0,r0,r1

add r0,r0,r2

mov pc,lr

a.h 檔案:

#ifndef __a_h__

#define __a_h__

int func1(int a, int b, int c, int x);

#endif

用生成的elf反彙編檔案如下:

080002f6 :

80002f6: fb00 f003 mul.w r0, r0, r3

80002fa: fb00 f003 mul.w r0, r0, r3

80002fe: 4408 add r0, r1

8000300: 4410 add r0, r2

8000302: 46f7 mov pc, lr

原始檔與反彙編檔案基本一致,以上彙編基於armv7架構的cortex系列晶元。

2樓:匿名使用者

什麼平台下的?arm,mips 還是x86的?

用組合語言編寫程式,用組合語言編寫乙個程式

print macro para 定義乙個巨集,這樣輸出字串的時候,可以省些事兒 lea dx,para mov ah,9 int 21h endm data segment msg1 db 請用拼音輸入姓名學號 格式為 xinming,xuhao buffer db 50,52 dup 0 為什麼...

用組合語言編寫簡單程式,用組合語言編寫一個簡單程式

sweet馮 1.計算u x y z 100 w 其中 x,y,z,w均為十六位有符號數。程式如下 data segment x dw 10 16位變數 y dw 20 z dw 30 w dw 40 u dw data ends code segment assume cs code,ds dat...

微機課設,用組合語言編寫程式,謝謝了

ioy0 equ 0d400h 片選ioy0埠始位址 ioy1 equ 0d440h 片選ioy1埠始位址 ioy2 equ 0d480h 片選ioy2埠始位址 ioy3 equ 0d4c0h 片選ioy3埠始位址 adc0809 equ ioy0 00h adc0809埠位址 pa55 equ i...