.model small
.data
SUM dw 0
START dw 1234H
VAdd dw 3099H
VSub dw 2099H
.code
MOV ax,@data
MOV ds,ax
;-------------------- Addition
MOV DX,START ;load START
MOV BX,VADD ;load ValueAddition
MOV AL,BL ;sum BL with DL
ADD AL,DL
DAA ;adjust
MOV CL,AL ;answer to CL
MOV AL,BH ;sum BH, DH, and carry
ADC AL,DH
DAA ;adjust
MOV CH,AL ;answer to CH
;-------------------- Subtraction
MOV DX,Vsub ;load ValueAddition
MOV BX,CX ;load Answer of Addition
MOV AL,BL ;subtract DL from BL
SUB AL,DL
DAS ;adjust
MOV CL,AL ;answer to CL
MOV AL,BH ;subtract DH, and carry
SBB AL,DH
DAS ;adjust
MOV CH,AL ;answer to CH
MOV ax,4c00h
INT 21h
end
บล๊อกนี้ทำขึ้นเพื่อ ให้นำโค๊ดโปรแกรม ไม่ว่าจะเป็น Java, Assembly ,C ,C++ หรือภาษาอื่นๆ (ที่เขียนได้นะ -.-) มาเผยแพร่ให้เข้าใจว่าโปรแกรมแต่ละตัวนั้น เขียนขึ้นมายังไง ? อาจจะมีผิดพลาดไปบ้าง (ไม่มากก็ มากกว่า) ก็ต้องขออภัยมา ณ ที่นี้ด้วย
05 สิงหาคม 2554
[Assembly]โปรแกรม บวก ลบ คูณ หาร แบบคิดตัวทด
.model small
.data
CSUM DW 0
CREN DW 0
COM DB 0
CADD DB 24
CSUB DB 10
CMUL DB 3
CDIV DB 4
.code
mov ax,@data
mov ds,ax
mov ax,CSUM
mov al,COM
add al,CADD
adc ah,0
sub al,CSUB
sbb ah,0
mov bl,CMUL
mov bh,0
mul bx
mov bl,CDIV
div bx
mov CSUM,ax
mov ax,0
div bx
mov CREN,ax
mov ax,4c00h
int 21h
end
.data
CSUM DW 0
CREN DW 0
COM DB 0
CADD DB 24
CSUB DB 10
CMUL DB 3
CDIV DB 4
.code
mov ax,@data
mov ds,ax
mov ax,CSUM
mov al,COM
add al,CADD
adc ah,0
sub al,CSUB
sbb ah,0
mov bl,CMUL
mov bh,0
mul bx
mov bl,CDIV
div bx
mov CSUM,ax
mov ax,0
div bx
mov CREN,ax
mov ax,4c00h
int 21h
end
[Assembly]โปรแกรม บวก ลบ คูณ หาร แบบปัดเศษทศนิยม
.model small
.data
CSUM DW 0
COM DB 0
CADD DB 24
CSUB DB 8
CMUL DB 4
CDIV DB 3
.code
mov ax,@data
mov ds,ax
mov ax,CSUM
mov al,COM
add al,CADD
adc ah,0
sub al,CSUB
sbb ah,0
mov bl,CMUL
mov bh,0
mul bx
mov bl,CDIV
div bx
add ah,ah
cmp ah,bl
jb NEXT
inc al
NEXT: mov CSUM,ax
mov ax,4c00h
int 21h
end
.data
CSUM DW 0
COM DB 0
CADD DB 24
CSUB DB 8
CMUL DB 4
CDIV DB 3
.code
mov ax,@data
mov ds,ax
mov ax,CSUM
mov al,COM
add al,CADD
adc ah,0
sub al,CSUB
sbb ah,0
mov bl,CMUL
mov bh,0
mul bx
mov bl,CDIV
div bx
add ah,ah
cmp ah,bl
jb NEXT
inc al
NEXT: mov CSUM,ax
mov ax,4c00h
int 21h
end
สมัครสมาชิก:
บทความ (Atom)