DaniWeb IT Discussion Community

DaniWeb IT Discussion Community (http://www.daniweb.com/forums/index.php)
-   Assembly (http://www.daniweb.com/forums/forum125.html)
-   -   TASM Begginer (http://www.daniweb.com/forums/thread32547.html)

zaiboot Sep 18th, 2005 11:39 pm
TASM Begginer
 
Hi, i need some help with a directive called ASSUME, and i have to write a program that display a string but i can't use .code nor code
and i have no idea of how can i make it work. Besides i can't find information about ASSUME. Please someone help me. This is the sample program i try to use.
TITLE HELLO

.Model Small
.Stack 160h

.Data
infor db "Hello world",10,12+1
inforlen Equ 13

.Code
start: MOV AX,@data
MOV DS,AX
MOV CX,inforleN
MOV SI,0
again: MOV AL,infor[SI]
CALL printch
INC SI
LOOP again
MOV AX,4c00h
INT 21h

printch Proc Near
MOV BX,0
MOV AH,0Eh
INT 10h
RET
printch EndP

End start

Evenbit Sep 20th, 2005 1:10 am
Re: TASM Begginer
 
Some links and other resources that might help you newbies...

Lot of links at assemblylanguage.net:

http://www.cheapersunglasses.com//asm.html

More links at the Open Directory Project:

http://dmoz.org/Computers/Programmin...ages/Assembly/


- ASSEMBLERS -

MASM32
http://www.movsd.com

NASM: The Netwide Assembler
http://nasm.sourceforge.net

HLA: High Level Assembly Language
http://webster.cs.ucr.edu/AsmTools/HLA/index.html

FASM: The Flat Assembler
http://flatassembler.net/

GoAsm
http://www.godevtool.com/

A86 (DOS) [Free]/A386 (Windows) [Commercial]
http://eji.com/a86/

Or, you can Write Your Own!
http://webster.cs.ucr.edu/AsmTools/...rOwn/index.html


USENET

alt.comp.lang.assembler
alt.lang.asm
alt.os.assembly
alt.os.development
comp.lang.asm.x86
comp.lang.ml
comp.software.extreme-programming

WEB-BASED

http://www.tek-tips.com/threadminder.cfm?pid=272
http://win32asm.cjb.net
http://www.masmforum.com/
http://board.flatassembler.net/

GROUP-BASED

http://groups.yahoo.com/group/aoaprogramming/
http://groups.yahoo.com/group/win32-nasm-users/
http://groups.yahoo.com/group/win32masm/

- Other useful resources -

Intel Manuals and such
http://www.sandpile.org/

Ralph Brown's Interupt List
http://www-2.cs.cmu.edu/afs/cs.cmu..../ralf-home.html

ASSEMBLY LANGUAGE information, tools, forums, and other links available at:
http://www.faqs.org/faqs/by-newsgrou...g.asm.x86.html

Nathan.

Alvein Sep 20th, 2005 11:08 am
Re: TASM Begginer
 
Quote:

Originally Posted by zaiboot
Hi, i need some help with a directive called ASSUME, and i have to write a program that display a string but i can't use .code nor code
and i have no idea of how can i make it work. Besides i can't find information about ASSUME. Please someone help me. This is the sample program i try to use.
TITLE HELLO

.Model Small
.Stack 160h

.Data
infor db "Hello world",10,12+1
inforlen Equ 13

.Code
start: MOV AX,@data
MOV DS,AX
MOV CX,inforleN
MOV SI,0
again: MOV AL,infor[SI]
CALL printch
INC SI
LOOP again
MOV AX,4c00h
INT 21h

printch Proc Near
MOV BX,0
MOV AH,0Eh
INT 10h
RET
printch EndP

End start


In such case, you will have to change the ASM convention to MASM (which is weird, cause you're using TASM):

DATASG SEGMENT PARA 'DATA'
infor db "Hello world",10,12+1
inforlen Equ 13
DATASG ENDS

STACKSG SEGMENT PARA STACK 'STACK'
mystack db 160h dup(?)
STACKSG ENDS

CODESG SEGMENT PARA 'CODE'

HELLO PROC FAR
ASSUME CS:CODESG,DS:DATASG,SS:STACKSG
start: MOV AX,DATASG
MOV DS,AX
MOV CX,inforleN
MOV SI,0
again: MOV AL,infor[SI]
CALL printch
INC SI
LOOP again
MOV AX,4c00h
INT 21h
HELLO ENDP

printch Proc Near
MOV BX,0
MOV AH,0Eh
INT 10h
RET
printch EndP

CODESG ENDS
END HELLO

Hope this helps.

Alcides Sep 27th, 2005 1:53 am
Re: TASM Begginer
 
The address for "Write your own" didn't work in my browser. I don't know if it was abbreviated for some reason or what? Here's the link I found for it:

Write Your Own

Alcides.

Edit: It turns out that it was abbreviated by the code mangler for display. I put the link ith text, instead of using the address itself.


All times are GMT -4. The time now is 9:08 am.

Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC