河北工業大學組合語言程式設計實驗二

2021-10-02 12:08:54 字數 3511 閱讀 9368

河北工業大學組合語言程式設計實驗二

2-4

assume cs:code,ds:data

data segment

star db '* $' ;定義輸出時需要用到的*,換行

n db 13,10,'$'

i dw 0

j dw 0 ;定義用於控制行列輸出的變數i,j

data ends

code segment

start:

mov ax,data

mov ds,ax

mov ah,01h ;輸入需要列印的三角形的行數

int 21h

sub ax,130h

mov i,ax

mov j,ax

mov dx,offset n ;列印三角形開始前先輸出乙個換行符

mov ah,09h

int 21h

mov cx,i

l1: ;第一層迴圈

mov i,cx

mov cx,j

l2: mov dx,offset star ;在內層迴圈裡列印*號

mov ah,09h

int 21h

loop l2

mov bx,j ;調整列印*號的數目

sub bx,1

mov j,bx

mov cx,i ;還原外層迴圈cx

mov dx,offset n ;列印換行符

mov ah,09h

int 21h

loop l1

mov ax,4c00h

int 21h

code ends

end start

2-5

assume cs:code,ds:data

data segment

buf dw 0f

000h,

0f000h,

0f000h,

0d00h,

0001h ;預先設計好需要求和的五個數,最終和大於ffffh

result dw 2 dup (0)

x dw 0

y dw 0

str db '0'

,'1'

,'2'

,'3'

,'4'

,'5'

,'6'

,'7'

,'8'

,'9'

,'a'

,'b'

,'c'

,'d'

,'e'

,'f'

data ends

code segment

start:

mov ax,data

mov ds,ax

mov ax,

0 mov dx,

0 call qiuhe ;進入求和子程式

call shuchu ;進入輸出子程式

mov ax,

4c00h

int 21h;*

****

****

****

****

****

****

****

****

****

****

****

****

qiuhe:

mov cx,

5 mov di,offset buf ;找到需要求和的陣列的首位址

mov bx,

0qiuhe1:

add ax,

[bx+di]

adc dx,

0;使用帶進製的adc操作記錄溢位的最高位

add bx,

2 mov result,ax ;每進行一次求和更新一次result

mov result+

2,dx

loop qiuhe1

ret;*

****

****

****

****

****

****

****

****

****

****

****

****

shuchu:

mov cx,

4 mov ax,result+

2shuchu1:

;輸出高四位

mov x,cx

mov cl,

4 rol ax,cl

mov y,ax

and ax,

0000000000001111b

mov bx,ax

mov di,offset str

mov dl,

[bx+di]

mov ah,

02h int 21h

mov ax,y

mov cx,x

loop shuchu1

mov cx,

4 mov ax,result

shuchu2:

;輸出低四位

mov x,cx

mov cl,

4 rol ax,cl

mov y,ax

and ax,

0000000000001111b

mov bx,ax

mov di,offset str

mov dl,

[bx+di]

mov ah,

02h int 21h

mov ax,y

mov cx,x

loop shuchu2

mov dl,

'h' mov ah,

02h int 21h

ret;*

****

****

****

****

****

****

****

****

****

****

****

**code ends

end start

河北工業大學組合語言程式設計實驗五

河北工業大學組合語言程式設計實驗五 5 3assume cs code,ds data,ss stack1 data segment col dw 50 row dw 100 leng1 dw 200 leng2 dw 100 color db 1100b data ends stack1 segm...

上海第二工業大學

三年的大專生活,似彈指一揮間,從剛踏入大專的失落忽然迷茫到現在即將走上工作崗位的從容,坦然.我知道角色的轉換又是我們人生中的一大挑戰,這除了較強的適應能力和樂觀的生活態度外,更重要的是得益於大專三年的學習積累和技能的培養.我認為我無愧與大專三年,剛入學時我曾自為大專而懊喪過,但是很快我選擇了坦然面對...

廣東工業大學程式設計競賽決賽 C

小時候,我只能一階一階得爬樓梯,後來,我除了能一次爬一階,還可以一次爬兩階,到現在,我最多一次可以爬三階。那麼現在問題來了,我想爬上 n層樓,相鄰樓層之間有一段樓梯,雖然我一次可以爬 1個台階 2個台階和 3個台階,但是我在i與 i 1層之間的樓梯上時,我不能跨越到 i 1與 i 2層之間的樓梯。現...