Forum: Assembly 28 Days Ago |
| Replies: 2 Views: 354 Review how VIDEO BIOS Interrupt 10h is suppose to function!
You indicate string doesn't contain attributes with AX,1300h
BUT Never set BL to indicate attribute to use!
ALSO DL=column ... |
Forum: Assembly 34 Days Ago |
| Replies: 4 Views: 428 You aren't being very clear!
If you are using a more recent computer but somehow using an old DOS interface and not in an emulator, then you can use 32-bit instructions in Real Mode. An operand... |
Forum: Assembly Oct 14th, 2009 |
| Replies: 1 Views: 327 The Auxiliary Carry (AF bit of Status Flags) is used for the carry out of bit 3 (0...7) into bit 4 for use in BCD operations! Think of it as a nibble carry! |
Forum: Assembly Sep 18th, 2009 |
| Replies: 3 Views: 394 You push each key until you get a linefeed 0ah then only pop one value. 0Dh is carriage return!
How many did you push? You need to count them! But using push-pop you're on the right track. Of... |
Forum: Assembly Sep 18th, 2009 |
| Replies: 10 Views: 551 Win32 From Win2000 and WinXP isolated the hardware to make it unaccessible directly from an application. Access was one of the nice features of Win98.
The books available here are my favorites. I... |
Forum: Assembly Sep 17th, 2009 |
| Replies: 10 Views: 551 Apples and Oranges. I'm not sure if the newer version has the capability of still building REAL mode apps. (Microsoft loves making things obsolete!) You can build a Win32 application and call a... |
Forum: Assembly Sep 17th, 2009 |
| Replies: 10 Views: 551 Code worked just fine for me! I cut'n'paste your last posting into test2.asm and built it. (I did tab most stuff since its not really suppose to be left justified!
I intentionally used MASM... |
Forum: Assembly Sep 17th, 2009 |
| Replies: 10 Views: 551 The simple answer is you can't.
The .386 and above have a Real Mode and a Protected Modes. Win32 such as XP, Win98, etc. are Protected Mode.
DOS is Real Mode. You can't mix and match without a... |
Forum: Assembly Sep 15th, 2009 |
| Replies: 22 Views: 920 Don't use the LODSB STOSB they aren't cost effective on short runs on newer processors. Do the mov, and inc yourself! |
Forum: Assembly Sep 14th, 2009 |
| Replies: 22 Views: 920 Everything looks correct but I still think its a Segment:Offset issue.
Initialize your Graphics card Page#0 column 0, row 0. Before doing anything.
And try writing your ASCII letters directly... |
Forum: Assembly Sep 14th, 2009 |
| Replies: 22 Views: 920 As an experiment replace your
lodsb ; AL = [DS:SI]
with
mov al,cs:[si]
inc si |
Forum: Assembly Sep 14th, 2009 |
| Replies: 22 Views: 920 You were using C definitions in the posted code.
Examine your CS register and IP register.
What are their hex values when you first begin the code? |
Forum: Assembly Sep 14th, 2009 |
| Replies: 22 Views: 920 Okay then.
Does your assembler understand C defines?
mov sp, 0x7c00
0x7c00 is a C definition.
0x10
Assemblers typically are looking for 07c00h |
Forum: Assembly Sep 14th, 2009 |
| Replies: 22 Views: 920 Are you clobberng your Segment register on purpose?
xor ax,ax ;zero out ax
mov ds,ax ;initialise data segment
mov ss,ax
... |
Forum: Assembly Sep 12th, 2009 |
| Replies: 6 Views: 625 I'm not sure why you aren't using one of the many free assemblers available instead of the ancient 1980 DOS debugger but yes. You'll have to enter your code instructions, then in adjacent memory (or... |
Forum: Assembly Sep 11th, 2009 |
| Replies: 6 Views: 625 then try offset Hola
or use LEA or something similar!
The idea is the data has to not be in the code flow, and you need to load its address into ds:dx.
Watch the spelling!
Are you doing... |
Forum: Assembly Sep 11th, 2009 |
| Replies: 6 Views: 625 You need to keep the ASCII text ouside the code flow or it will be treated like code, which it isn't!
You need to modify your code as to something as follows!
MOV AH,9 ; Write String to... |
Forum: Assembly Aug 31st, 2009 |
| Replies: 22 Views: 920 You're working in 16-bit RealMode but why is your origin at 7c00h ?
lodsb is equivalent to
;16-bit
mov al,ds:[si]
inc si
;32-bit |
Forum: Assembly Aug 26th, 2009 |
| Replies: 16 Views: 867 I definitely don't like NASM!
It has its own way of doing things....
; ------------------------------------------
; Keyboard input method
xVer: db 'Ver',0
Key: times 128 db 0 ; reserve... |
Forum: Assembly Aug 26th, 2009 |
| Replies: 6 Views: 615 Well finally a processor I'm not familiar with.
Not 80x86 unless its been macroized as assembly.
Is a bit similar looking to MIPS. |
Forum: Assembly Aug 26th, 2009 |
| Replies: 16 Views: 867 Look at the line number that contains the error and look for things.
Line#35
You may need the label on the same line as instruction. Some assemblers require this, some don't!
main: MOV... |
Forum: Assembly Aug 25th, 2009 |
| Replies: 16 Views: 867 One step at a time
xVer db 'Ver',0
Key db dup(128)
Kscan db dup(128)
xor bx,bx |
Forum: Assembly Aug 25th, 2009 |
| Replies: 4 Views: 505 I don't understand your question. If you have to clear it yourself and are working in an old style Real Mode code where the BIOS services are exposed.
I'm kind of rusty at this...
mov... |
Forum: Assembly Aug 25th, 2009 |
| Replies: 16 Views: 867 After data entry, remove carriage return and set a terminator!
Create a master list of commands! A table lookup of string addresses and scan through the list one at a time and do a caseless... |
Forum: Assembly Aug 25th, 2009 |
| Replies: 4 Views: 505 Different ways.
One is to clear the screen yourself by writing to the display Segment:Offset.
Using Video Services interrupt 10h, command ah=0 Set the video mode again! (Not really the best way... |
Forum: Assembly Aug 25th, 2009 |
| Replies: 16 Views: 867 You're using the 0x10 VIDEO BIOS services handler for your video handling so use the 0x16 KEYBOARD BIOS services handler for your keyboard handling!
; Get Keyboard value (and wait for... |
Forum: Assembly Aug 21st, 2009 |
| Replies: 6 Views: 444 Doesn't bother me. Only noticed when I was looking for alternate questions to reply to. |
Forum: Assembly Aug 21st, 2009 |
| Replies: 6 Views: 444 Posting on competitors site too! |
Forum: Assembly Aug 21st, 2009 |
| Replies: 6 Views: 444 Spelling of your ASCII$ string buffer.
To be consistent
LEA DX, message
And the missing $ terminator!
message DB 'Test!$'
or
message DB 'Test!','$' |
Forum: Assembly Aug 21st, 2009 |
| Replies: 8 Views: 510 Actually your code needs work. Compare what you have to the following...
.model small
.stack 100h
.data
.code
start:
mov ah,1 ; input character from keyboard (with echo)
int 21h ;... |
Forum: Assembly Aug 21st, 2009 |
| Replies: 6 Views: 475 When doing 80x86 I use C/C++ with either inline assembly, or MASM assembled files linked to the exe.
MIPS its usually SNSystems.
PowerPC its a couple different IDE's.
Rabbit SofTools
PIC18F ... |
Forum: Assembly Aug 21st, 2009 |
| Replies: 6 Views: 475 I realize English isn't your primary language but you need to try better as your request is not clear!
You covered up your code so we can no longer see it!
DOS used a '$' terminator so if you're... |
Forum: Assembly Aug 21st, 2009 |
| Replies: 6 Views: 475 I'm not sure of what you're trying to say,
but DOS interrupt is 21h ; 21 Hex not 21 decimal.
DOS terminate is 20h ; 20 Hex not 20 decimal
In the assembler you enter ... |
Forum: Assembly Aug 15th, 2009 |
| Replies: 153 Views: 2,711 Yes, $v0 $v zero $vo is a mistake!
There are many languages out there. Some companies build applications using Java. Some C, Pascal, Visual Basic, Basic, Fortran, Cobol (though fewer and... |
Forum: Assembly Aug 15th, 2009 |
| Replies: 153 Views: 2,711 And thankyou for your help! I've been programming professionally since 1979 and have built multi-million line programs. But over the years I've been isolated as to designing and building new... |
Forum: Assembly Aug 15th, 2009 |
| Replies: 153 Views: 2,711 You print the four robot_state lines but you aren't printing based upon if 1 or 2 or 3 or 4.
So without using conditionals, try this instead!
It uses the robot_state as an index into a string... |
Forum: Assembly Aug 15th, 2009 |
| Replies: 153 Views: 2,711 I missed it change those two syscal to syscall
Change $vo to $v0 zero |
Forum: Assembly Aug 15th, 2009 |
| Replies: 153 Views: 2,711 Since this is no longer a school project I went in and cleaned top to bottom. You need to finish at bottom where indicated.
Review each section of code and understand how it works!
.data #... |
Forum: Assembly Aug 14th, 2009 |
| Replies: 153 Views: 2,711 Done: Should be near bottom of file just above the robot_state 4 case code that doesn't exist yet!
# Process new robot positions
j PrtOut
MoveHop: j MoveLoop
Done: |
Forum: Assembly Aug 14th, 2009 |
| Replies: 153 Views: 2,711 The clear matrix should look like this then...
# Clear Entire Maze Array
la $t0, maze # load address of maze
li $t3, 0 # <-- Fill maze with (0)
li $t1, 144
clr: # repeat if... |