將從鍵盤輸入的n
個有符號數儲存到陣列
tab,找出
n個有符號數中絕對值大於
x的最小負奇數存放到
min單元,如果沒有找到則
min單元存放
0。在終端上顯示
min的絕對值。
tab dd x1,……,xn
x dd xx(
無符號數,自己設定)
min dd ?
要求:1、求資料
min的功能用子程式實現 2
、畫主程式及子程式流程圖 3
、熟練掌握綜合程式設計方法
流程圖:
neg x ;取反
mov ecx,cnt
xor esi,esi
again:
mov eax,tab[esi*4]
cmp eax,min
jge next
;是負數且小於min,判斷絕對值是否大於x
cmp eax,x
jge next
mov y,eax
neg eax
xor edx,edx
div two
cmp dx,0
je next
mov eax,y
mov min,eax
next:
inc esi
loop again
mov eax,min
call writeint
call crlf
exit
print proc
xor esi,esi
print_again:
call readint
mov tab[esi*4],eax
inc esi
loop print_again
retprint endp
end start
組合語言 練習題4 2
內容 從鍵盤輸入一串字母並儲存在 string 開始的位址單元,要求將該字串中的大寫字母轉化為小寫字母後用子程式實現在終端上依次顯示該串字母的 ascii碼。string db n dup 要求 熟練掌握子程式設計方法,畫子程式 主程式流程圖 函式說明 readstring edx 存放字串首位址 ...
組合語言 練習題3 2
內容 tab開始的單元中存放 n個位元組無符號數,請按照從大到小排序後,存入 dat單元中。注意 tab 資料保持不變 tab db x1,xn dat db n dup 要求 熟練掌握迴圈程式設計方法 這個屬於非就地排序,我利用的是冒泡的思想 每增加乙個值,冒泡一遍。附上c bubblesort....
movsw 彙編 彙編練習題
16.下面指令執行後,總是使cf of 0的是 a.and b.neg c.not d.inc 17.為使cx 1時,執行 jz minus 轉至標號minus而編制了一指令,其中錯誤的是 a.inc cx b.sub cx,offffh c.and cx,offffh d.xor cx,offff...