組合語言 求分段函式值

2022-03-27 07:51:54 字數 2233 閱讀 5348

題目:計算給定函式值

其中,從鍵盤輸入x,y,輸出資料為a。

輸入輸出時候都要求有提示資訊。

考查知識點:分支結構的應用。

**如下:

1

;example assembly language program -- 2;

author: karllen3;

date: revised 5/2014

45 .386

6.model flat

78 exitprocess proto near32 stdcall, dwexitcode:

dword

910 include io.h ;

header file for input/output

1112 cr equ 0dh ;

carriage return character

13 lf equ 0ah ;

line feed

1415 .stack 4096

;reserve 4096-byte stack

1617

.data

18 promotx byte "

please enter a number as x

",019 promoty byte "

please enter a number as y

",020 value byte 11

dup(?)

21 answer byte "

the a is

"22 rsa byte 11

dup(?)

23 byte cr,lf,0

24.code

25_start:

26 output promotx ;

ebx = x

27 input value,11

28atod value

29mov

ebx,eax

3031 output promoty ;

eax = y

32 input value,11

33atod value

3435

cmp ebx,0

36jl lzero ;

ebx < 0

3738

cmp ebx,0

39jg oo ;

x>0

40oo:

41cmp eax,0

42jl oneg ;

y<0

43cmp eax,0

;ebx>=0

44jge ltwozero ;

eax>=0

45lzero:

46cmp eax,0

47jl ltwzero ;

eax < 0

48oneg:

49mov eax,0

50dtoa rsa,eax

51output answer

52jmp

endcmp

53ltwzero:

54mov eax,1

55neg

eax56

dtoa rsa,eax

57output answer

58jmp

endcmp

59ltwozero:

60mov eax,1

61dtoa rsa,eax

62output answer

63endcmp:

6465 invoke exitprocess, 0

;exit with return code 0

6667 public _start ;

make entry point public

6869 end ;

end of source code

測試結果

組合語言 AT T組合語言

這兩天的pwn題環境都是在linux中,採用的組合語言是 at t 格式。之前學習的是intel格式的8086彙編,今天學習了下at t組合語言。基於x86 架構的處理器所使用的彙編指令一般有兩種格式 操作intel格式at t格式 暫存器命名 push eax pushl eax 常數 立即運算元...

分段函式(彙編)

第一次寫彙編,兩天從一臉蒙蔽到硬著頭皮寫程式,我做到了,寫出來的時候激動得說不出話 函式 當 x 3時y 3 x 5,當 x 3,y 6 data segment promrt db input x 10000 10000 buffer db 6,6 dup c10 dw 10 x dw out m...

組合語言 實驗10 3 數值顯示

寫給自己的一些題外話 這個題目做了兩天。這幾天狀態一直不太好,書都看不進去,題也看不進去。名稱 dtoc 功能 將word型資料轉變為表示十進位制形式的字串,字串以0位結尾符 引數 ax word型資料 ds si指向字串的首位址 返回 無 應用舉例 程式設計,將資料12666以十進位制的形式在螢幕...