使用汇编编写一段求和程序

我的汇编环境是DosBox

不同的平台,汇编的代码会有所不同。

 

函数调用:

assume cs:code,ds:data,ss:stack

data segment

data ends

stack segment

stack ends

code segment
  start: mov ax,stack
         mov ss,ax
	 mov sp,128
	 call s1    ;push ip
	 call s2
	 mov ax,4c00H
	 int 21H

s1: mov ax,1000H
    ret

s2: mov ax,1001H
    ret

code ends
end start

计算5+3的值:

assume cs:code,ds:data,ss:stack

data segment

data ends

stack segment

stack ends

code segment
  start: 
         push bp
	 mov sp,bp
	 sub $32,sp
	 mov $5,20(sp)
	 mov $3,24(sp)
         mov sps,ax
	 mov ax,4(sp)
	 mov 20(sp),ax
	 mov ax,(sp)
	 call plus
	 mov ax,28(sp)
	 mov $0,ax
	 leave
	 ret

	 mov ax,4c00H
	 int 21H

plus: sub $16,sp
      mov 12(bp),ax
      mov p,dx
      add dx,ax
      mov ax,-4(bp)
      mov -4(bp),ax
      leave
      ret

code ends
end start

 

assume cs:code,ds:data,ss::stack

data segment
      db  '1975','1976','1977','1978','1975','1976','1977','1978'
      db   '1985','1986','1987','1988','1985','1986','1987','1988'
      db  '1995','1996','1997','1998','1999','2076','2077','2078'

      dd   32,45,435,435,436,546,4756,7657,6765,7542,5622,5575,66558,78566,75456
      dd   324545,4545,434545,43545,44536,55446,475456,764557,654765,75442,56522,55575,4366558,781566,7534456
      dw   324545,4545,434545,43545,44536,55446,475456,764557,654765,75442,56522,55575,4366558,781566,7534456
      dw   324545,4545,434545

data ends

table segment
       db 21 dup('year summ ne ??')
table ends


string segment
        db 10 dup('0'),0
string ends

stack segment stack
          db 128 dup(0)
stack ends

code segment
  start: mov ax,data
         mov ds,ax
	 mov si,0
	 mov di,16
	 mov cx,8
cpystring: mov ax,ds:[si]
           mov ds:[di],ax
	   add si,2
	   add di,2
	   loop cpystring
      mov ax,4c00H
      int 21H   ;调用 INT 21H 的 4CH 号中断,该中断就是安全退出程序。

code ends
end start

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值