久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4431|回復: 0
收起左側

匯編語言常見例子

[復制鏈接]
ID:60076 發表于 2014-4-30 18:06 | 顯示全部樓層 |閱讀模式

1、編寫程序計算Z=(X*X-3*Y)/2
DATA    SEGMENT
X    DB    25
Y    DB    32
Z    DW    ?
DATA    ENDS

CODE    SEGMENT
     ASSUME    CS:CODE,DS:DATA
START:    MOV    AX,DATA
     MOV    DS,AX
     MOV    AL,X
     MUL    AL
     MOV    BX,0
     MOV    BL,Y
     ADD    BL,BL
     ADC    BH,0
     ADD    BL,Y
     ADC    BH,0
     SUB    AX,BX
     SHR    AX,1
     MOV    Z,AX
     MOV    AH,4CH
     INT    21H
CODE    ENDS
     END    START
2、編寫程序完成多字節相加
DATA    SEGMENT
DAT1    DB    5EH,89H
DAT2    DB    40H,OABH
DAT3    DW    ?
DATA    ENDS
CODE    SEGMENT
     ASSUME    CS:CODE,DS:DATA
START:    MOV    AX,DATA
     MOV    DS,AX
     MOV    SI,0
     MOV    AL,DAT1[SI]
     MOV    AL,DAT2[SI]
     MOV    DAT3[SI],AL
     INC    SI
     MOV    AL,DAT1[SI]
     ADC    AL,DAT2[SI]
     MOV    DAT3[SI],AL
     MOV    AH,4CH
     INT    21H
CODE    ENDS
     END    START
3、查表求平方和
DATA    SEGMENT
TABL    DB    0,1,4,9,16,25,36,49
     DB    64,81,100,121,144,169,225
XD    DB    ?
YD    DB    ?
DATA    ENDS
STACK    SEGMENT    STACK    'STACK'
STA    DB    50    DUP    (?)
TOP    EQU    LENGTH    STA
STACK    ENDS
CODE    SEGMENT   
     ASSUME    CS:CODE,DS:DATA,SS:STACK
START:    MOV    AX,DATA
     MOV    DS,AX
     MOV    AX,STACK
     MOV    SS,AX
     MOV    SP,TOP
     MOV    BX,OFFSET    TABL
     MOV    AH,0
     MOV    AL,XD
     ADD    BX,AX
     MOV    AL,[BX]
     MOV    YD,AL
     MOV    AH,4CH
     INT    21H
CODE    ENDS
     END    START
4、源數據塊和目的數據塊是否有重疊來決定采用增址還是減址方式傳送
DATA    SEGMENT
STRG    DB    1000    DUP(?)
BLOK1    EQU    STRG+5
BLOK2    EQU    STRG+10
BLENG    EQU    100
DATA    ENDS
CODE    SEGMENT
     ASSUME    CS:CODE,DS:DATA,ES:DATA
START:    MOV    AX,DATA
     MOV    DS,AX
     MOV    ES,AX
     MOV    CX,BLENG
     MOV    SI,OFFSET    BLOK1
     MOV    DI,OFFSET    BLOK2
     CLD
     PUSH    SI
     ADD    SI,BLENG-1
     CMP    SI,DI
     POP    SI
     JB    GO
     STD
     ADD    SI,BLENG-1
     ADD    DI,BLENG-1
GO:    REP    MOVSB
     MOV    AH,4CH
     INT    21H
     CODE    ENDS
     END    START
5、找出最大數和最小數
DATA    SEGMENT
BUF    DB    -2,+5,-128
     DB    +127,80,-70
COUN    EQU    $-BUF
MAX    DB    ?
MIN    DB    ?
DATA    ENDS
STACK    SEGMENT    STACK
STR    DB    64H    DUP(?)
STACK    ENDS
MYCODE    SEGMENT
     ASSUME    DS:MYCODE,DS:DATA,SS:STACK
START:    MOV    AX,DATA
     MOV    DS,AX
     MOV    AX,STACK
     MOV    SS,AX
     MOV    SP,LENGTH    STR
     MOV    CX,COUN-1
     MOV    SI,OFFSET    BUF
     MOV    AL,[SI]
     MOV    BL,[SI]
     INC    SI
LOP:    CMP    AL,[SI]
     JGE    NEXT1
     MOV    AL,[SI]
NEXT1:    CMP    BL,[SI]
     JL    NEXT
     MOV    BL,[SI]
NEXT:    INC    SI
     LOOP    LOP
     MOV    MAX,AL
     MOV    MIN,BL
     MOV    AH,4CH
     INT    21H
MYCODE    ENDS
     END    START
6、三路分支結構程序
DATA    SEGMENT
DATX    DB    -3
DATY    DB    ?
DATA    ENDS
CODE    SEGMENT
     ASSUME    CS:CODE,DS:DATA
START:    MOV    AX,DATA
     MOV    DS,AX
     MOV    AL,DATX
     CMP    AL,0
     JGE    BIGER
     MOV    AL,0FFH
     MOV    DATY,AL
     JMP    NEXT
BIGER:    JE    EQUL
     MOV    AL,1
     MOV    DATY,AL
     JMP    NEXT
EQUL:    MOV    DATY,AL
NEXT:    MOV    AH,4CH
     INT    21H
CODE    ENDS
     END    START
7、利用跳轉實現多分支結構
DATA    SEGMENT
ADRTAB    DW    R0,R1,R2,R3,R4,R5,R6,R7,R8,R9
TEN    DB    ?
DATA    ENDS
STACK    SEGMENT    PARA    STACK    'STACK'
STA    DB    100    DUP(?)
STACK    ENDS
CODE    SEGMENT
     ASSUME    CS:CODE,DS:DATA,SS:STACK
START:    MOV    AX,DATA
     MOV    DS,AX
     MOV    AX,STACK
     MOV    SS,AX
     MOV    SP,LENGTH    STA
     MOV    AH,01
     INT    21H
COMPUT:    MOV    AH,0
     AND    AL,0FH
     ADD    AL,AL
     MOV    BX,OFFSET    ADRTAB
     ADD    BX,AX
     MOV    AX,[BX]
     JMP    AX
R0:
R1:
R2:
R3:
R4:
R5:
R6:
R7:
R8:
R9:
     MOV    AH,4CH
     INT    21H
CODE    ENDS
     END    START
8、計算累加和
DATA    SEGMENT
SUM    DW    ?
DATA    ENDS
CODE    SEGMENT
     ASSUME    CS:CODE,DS:DATA
START:    MOV    AX,DATA
     MOV    DS,AX
     MOV    AX,0
     MOV    CX,100
AGAIN:    ADD    AX,CX
     DEC    CX
     JNZ    AGAIN
     MOV    SUM,AX
     MOV    AH,4CH
     INT    21H
CODE    ENDS
     END    START
9、計算一個數中1的個數
DATA    SEGMENT
X    DW    31A0H
RESULT    DW    ?
DATA    ENDS
CODE    SEGMENT
     ASSUME    CS:CODE,DS:DATA
START:    MOV    AX,DATA
     MOV    DS,AX
     MOV    CX,0
     MOV    AX,X
AGAIN:    AND    AX,AX
     JZ    EXIT
     SHL    AX,1
     JNC    NEXT
     INC    CX
NEXT:    JMP    AGAIN
EXIT:    MOV    RESULT,CX
     MOV    AH,4CH
     INT    21H
CODE    ENDS
     END    START
10、求一列數的累加和
DATA    SEGMENT
BLOCK    DW    0028H,0FF18H,1005H,7823H,0
     DW    0CDABH,0FFFFH,1122H,3344H,7892H
COUN    EQU    ($-BLOCK)/2
SUM    DW    ?
DATA    ENDS
STACK    SEGMENT    PARA    STACK    'STACK'
STA    DW    100    DUP(?)
TOP    EQU    SIZE    STA
STACK    ENDS
CODE    SEGMENT
     ASSUME    CS:CODE,DS:DATA,SS:STACK
START:    MOV    AX,DATA
     MOV    DS,AX
     MOV    AX,STACK
     MOV    SS,AX
     MOV    SP,TOP
     MOV    AX,0
     MOV    SI,OFFSET    BLOCK
     MOV    CX,COUN
LOP:    ADD    AX,[SI]
     ADD    SI,2
     LOOP    LOP
     MOV    SUM,AX
     MOV    AH,4CH
     INT    21H
CODE    ENDS
     END    START
11、延時程序
TIMEDLY    PROC
     MOV    BX,100
DELAY:    MOV    CX,5882
DELAYO:    LOOP    DELAYO
     DEC    BX
     JNZ    DELAY
     RET
TIMEDLY    ENDP
12、冒泡排序法
DATASEG    SEGMENT
ARRAY    DW    1234H,5437,7FFFH,0FFFFH,0AB55
     DW    05FFH,7832H,0,9043H,5634
COUN    EQU    ($-ARRAY)/2
DATASEG    ENDS
STACKSEG    SEGMENT    PARA    STACK    'STACK'
STAPN    DB    100    DUP(?)
TOP    EQU    LENGTH    STAPN
STACKSEG    ENDS
PROGRAM    SEGMENT
     ASSUME    CS:PROGRAM,DS:DATASEG,SS:STACKSEG
START:    MOV    AX,DATASEG
     MOV    DS,AX
     MOV    AX,STACKSEG
     MOV    SS,AX
     MOV    AX,TOP
     MOV    SP,AX
     MOV    BL,0FFH
A1:    CMP    BL,0FFH
     JNE    A4
     XOR    BL,BL
     MOV    CX,COUN-1
     XOR    SI,SI
A2:    MOV    AX,ARRAY[SI]
     CMP    AX,ARRAY[SI+2]
     JGE    A3
     XCHG    ARRAY[SI+2],AX
     MOV    ARRAY[SI],AX
     MOV    BL,0FFH
A3:    INC    SI
     INC    SI
     LOOP    A2
     JMP    A1
A4:    MOV    AH,4CH
     INT    21H
PROGRAM    ENDS
     END    START

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 私人午夜影院 | 久久视频在线 | 天天干天天看 | 成年人黄色 | 国产精品成人一区二区三区 | 国产精品入口66mio男同 | 亚洲一区免费观看 | 一区二区三区四区在线 | 国产精品美女在线 | 伊人国产在线 | 日韩欧美国产精品 | 日韩视频免费在线观看 | 国产在线成人 | 狠狠的干| 大乳女喂男人吃奶 | 黄色大片免费观看 | 黄色一级毛片 | 中文字幕在线观看日本 | 精品欧美黑人一区二区三区 | 欧美成人一级片 | 成人一区二区视频 | 久久精品在线播放 | hdxxxxhd100%| 日韩精品在线看 | 成人性生活视频 | 黄色三级免费 | 欧美黄色网 | 免费视频一区 | 一区二区不卡视频 | аⅴ资源新版在线天堂 | 国产伦精品一区二区三区四区免费 | 视频一区在线观看 | 久久久久久亚洲 | 久草网站 | 成人午夜视频在线观看 | 91久久久久 | 五月开心婷婷 | 午夜精品久久久久久久99黑人 | 国产日韩综合 | 国产激情一区二区三区 | 色香蕉网|