用匯編語言實現(xiàn)從1加到100的方法(1+2+...+100)
更新時間:2020年01月18日 11:35:00 作者:霜沐林
這篇文章主要介紹了用匯編語言實現(xiàn)從1加到100的方法(1+2+...+100),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
用匯編語言實現(xiàn)1+2+...+100
;課堂作業(yè)
;計算1+2+...+100
DATA SEGMENT
COUNT DW 0 ;計數(shù)
DATA ENDS
STACK SEGMENT PARA STACK
BUF DW 20H DUP (0)
LEN EQU $-BUF
STACK ENDS
CODESEG SEGMENT
ASSUME CS:CODESEG,SS:STACK,DS:DATA
START:
;初始化堆棧段ss和數(shù)據(jù)段ds
MOV AX,STACK
MOV SS,AX
MOV SP,LEN
MOV AX,DATA
MOV DS,AX
MOV CX,64H ;循環(huán)100次
MOV AX,0
S:
ADD COUNT,01H
ADD AX,COUNT
LOOP S
MOV DL,AL
MOV AL,AH
CALL DISP_2_HEX
MOV AL,DL
CALL DISP_2_HEX
CALL DISP_CREF
MOV AH,4CH
INT 21H
;將AL的高四位與低四位分別輸出
DISP_2_HEX:
PUSH AX
PUSH BX
PUSHF
MOV AH,0 ;清零
MOV BL,10H ;作除法
DIV BL ;AL :商 高位 AH 余數(shù) 低位
CALL DISP_1_HEX ;輸出AL的結(jié)果
MOV AL,AH
CALL DISP_1_HEX
POPF
POP BX
POP AX
RET
;輸出AL的數(shù)字和字母
DISP_1_HEX:
PUSH AX
PUSH DX
PUSHF
MOV DL,AL
CMP DL,09
JBE L_1 ;小于等于9則跳過下一條語句
ADD DL,27H ;大于10則轉(zhuǎn)換為小寫字母并執(zhí)行到下面的L_1的RET結(jié)束
;數(shù)字10與字符a差為39(27H)
;數(shù)字輸出(1的ascii碼為31H)
L_1:
ADD DL,30H ;數(shù)字轉(zhuǎn)換為字符
MOV AH,02H
INT 21H
POPF
POP DX
POP AX
RET
;輸出回車換行
DISP_CREF:
PUSH DX
PUSH AX
MOV AH,02H
MOV DL,0DH
INT 21H
MOV DL,0AH
INT 21H
POP AX
POP DX
RET
CODESEG ENDS
END START
輸出結(jié)果為13ba(5050的十六進(jìn)制)

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
詳解匯編語言中中括號[]作用及l(fā)ea和mov指令的區(qū)別
這篇文章主要介紹了匯編語言中中括號[]作用及l(fā)ea和mov指令的區(qū)別,本文分步驟給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2020-01-01
匯編語言功能實現(xiàn)數(shù)據(jù)復(fù)制實例詳解
這篇文章主要為大家介紹了匯編語言功能實現(xiàn)數(shù)據(jù)復(fù)制的實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-11-11
8086匯編開發(fā)環(huán)境搭建和Debug模式介紹(圖文詳解)
這篇文章主要介紹了8086匯編開發(fā)環(huán)境搭建和Debug模式介紹,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2020-01-01

