<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
  <channel>
    <title>Assembler Developer Forum RSS Feed</title>
    <link>http://www.programmersheaven.com/</link>
    <description>Contains the latest threads from the 'Assembler Developer' forum at Programmer's Heaven, excluding replies.</description>
    <language>en</language>
    <copyright>Copyright 2008 Programmers Heaven</copyright>
    <pubDate>Mon, 01 Dec 2008 18:39:19 -0700</pubDate>
    <lastBuildDate>Mon, 01 Dec 2008 18:39:19 -0700</lastBuildDate>
    <generator>Argotic Syndication Framework 2007.3.0.1, http://www.codeplex.com/Argotic</generator>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <ttl>360</ttl>
    <image>
      <url>http://www.programmersheaven.com/images/ph.gif</url>
      <title>Programmers Heaven</title>
      <link>http://www.programmersheaven.com/</link>
      <width>88</width>
      <height>31</height>
    </image>
    <item>
      <title>Help with  8-bit Input to 3 digit BCD Output ASM</title>
      <link>http://www.programmersheaven.com/mb/pharabee/382266/382266/help-with--8-bit-input-to-3-digit-bcd-output-asm/</link>
      <description>I'm trying to write an ASM code that receives eight-bit binary numbers from a dip-switch and displays the data on 3 seven segment LEDs. If the input is 2 zero numbers meaning all dip-switches are off the output should increment through 10-bytes of data starting at A0000H in three digit decimal format. I also need a time delay of 5 seconds between each address in this case. If the dip-switch is not zero, simply the input should be displayed. &lt;br /&gt;
&lt;br /&gt;
So far, I know how to convert hex to decimal and have a lookup table for the seven-segment display.  Could anyone point me towards the solution?&lt;br /&gt;
&lt;br /&gt;
Thanks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</description>
      <pubDate>Wed, 26 Nov 2008 17:01:05 -0700</pubDate>
      <category>Assembler Developer</category>
    </item>
    <item>
      <title>HEX to Decimal Conversion</title>
      <link>http://www.programmersheaven.com/mb/pharabee/382217/382217/hex-to-decimal-conversion/</link>
      <description>Hi all. I've been programming something to count certain things in a string of ASCII characters and it outputs the results on the screen once it's done. But not everyone reads HEX so i need to find out a way to convert HEX to ASCII and i've been wondering if there's an instruction to do so. I've looked into the x86 instruction set and the only thing that i could think that could do this is with AAA and the likes. Any suggestions would be appreciated as i would like to avoid a hole bunch of code for the conversion. Thanks!&lt;br /&gt;
&lt;br /&gt;
~V&lt;br /&gt;</description>
      <pubDate>Tue, 25 Nov 2008 11:39:03 -0700</pubDate>
      <category>Assembler Developer</category>
    </item>
    <item>
      <title>Need resellers of calling cards in Mexico</title>
      <link>http://www.programmersheaven.com/mb/pharabee/382194/382194/need-resellers-of-calling-cards-in-mexico/</link>
      <description>We provide prepaid calling cards that you can use from Mexico as well as many latin countries. We need resellers. Serious interested partners please Email tamimin@hotmail.com&lt;br /&gt;
&lt;br /&gt;
Sincerely,&lt;br /&gt;
&lt;br /&gt;
Nedal Tamimi&lt;br /&gt;
KALL MART INC.&lt;br /&gt;
734-629-3808&lt;br /&gt;</description>
      <pubDate>Mon, 24 Nov 2008 14:42:49 -0700</pubDate>
      <category>Assembler Developer</category>
    </item>
    <item>
      <title>Some "Assembly" Required</title>
      <link>http://www.programmersheaven.com/mb/pharabee/382175/382175/some-assembly-required/</link>
      <description>I recently purchased a text about programming assembly language for intel based computers.  At the end of my current chapter is this problem;&lt;br /&gt;
&lt;br /&gt;
Write a program that accepts two integers from the user. The program should then calculate the least common multiple. (the smallest number that &lt;br /&gt;
you can multiply both input values by evenly).   Prime factorization is &lt;br /&gt;
the recommended method to accomplish this.  To test this part of your program, here are some inputs and outputs.&lt;br /&gt;
&lt;br /&gt;
 &lt;em&gt;Input: 3,2 LCM = 6&lt;br /&gt;
 Input: 5,10 LCM = 10&lt;br /&gt;
 Input: 4,6 LCM = 12&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
Next, using these same two input values, determine if they are prime and output the results. Note that if prime factorization is used in the previous step, you have already done this.&lt;br /&gt;
Finally, if the numbers are less than 10, multiply each 100 then convert these numbers to packed decimal.&lt;br /&gt;
&lt;br /&gt;
This is meant to be a &lt;span style="color: Purple;"&gt;challenge&lt;/span&gt; problem, and therefor optional, but I cannot for the life of me figure out two things.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. &lt;strong&gt;How to find the &lt;em&gt;LCM&lt;/em&gt;,&lt;/strong&gt; and&lt;br /&gt;
2. &lt;strong&gt;packed decimal&lt;/strong&gt;? &lt;br /&gt;
&lt;br /&gt;
Neither have been even hinted at in my text.  If anyone can point me in the right direction I would be eternally grateful.   &lt;br /&gt;
&lt;br /&gt;</description>
      <pubDate>Mon, 24 Nov 2008 03:53:28 -0700</pubDate>
      <category>Assembler Developer</category>
    </item>
    <item>
      <title>File Encryption Using XOR</title>
      <link>http://www.programmersheaven.com/mb/pharabee/382164/382164/file-encryption-using-xor/</link>
      <description>Hi I need help with my program. &lt;br /&gt;
&lt;br /&gt;
I can't get it to work because there is one error. &lt;br /&gt;
&lt;br /&gt;
TITLE File Encryption Using XOR		          (FileEncyptionUsingXOR.asm)&lt;br /&gt;
&lt;br /&gt;
; Description: A program that encrypts the contents of a plaintext file and stores it in a cyphertext file.&lt;br /&gt;
; &lt;br /&gt;
; Revision date: November 23, 2008&lt;br /&gt;
&lt;br /&gt;
INCLUDE Irvine16.inc&lt;br /&gt;
.data&lt;br /&gt;
prompt		BYTE "What is the plain text file: ", 0ah					;asks for the plain text file&lt;br /&gt;
prompt2		BYTE "What is the name of the encrypted text file: ", 0ah	;asks for the encrypted text file&lt;br /&gt;
prompt3		BYTE "What is the encryption code (1 to 255): ", 0ah		;asks for the encryption code&lt;br /&gt;
output		BYTE "Plaintext: ", 0ah										;outputs the unencryption text&lt;br /&gt;
output2		BYTE "Encryption text: ", 0ah								;outputs the encryption text&lt;br /&gt;
newline		BYTE 0ah													;next line&lt;br /&gt;
input		BYTE 80 DUP(0)												;stores the plain text file name&lt;br /&gt;
input2		BYTE 80 DUP(0)												;stores the encryption file name&lt;br /&gt;
input3		BYTE 0														;stores the encryption key&lt;br /&gt;
bytesRead	WORD ?														;stores number of bytes in the input&lt;br /&gt;
inHandle		WORD ?												    ;stores the file handle input&lt;br /&gt;
outHandle		WORD ?													;stores the file handle output&lt;br /&gt;
BufferSize = 1000														;determines the max text file size&lt;br /&gt;
Buffer		BYTE bufferSize DUP(?)										;stores an array of characters&lt;br /&gt;
&lt;br /&gt;
.code&lt;br /&gt;
main PROC&lt;br /&gt;
	mov ax, @data														;used because of variables&lt;br /&gt;
	mov ds, ax															;places ax into ds &lt;br /&gt;
	&lt;br /&gt;
; ask for the file name&lt;br /&gt;
	mov ah, 40h															;sets the output array&lt;br /&gt;
	mov cx, LENGTHOF prompt												;copies LENGTHOF to CX&lt;br /&gt;
	mov dx, OFFSET	 prompt												;moves the OFFSET of the string to dx&lt;br /&gt;
	int 21h																;call MS-DOS&lt;br /&gt;
&lt;br /&gt;
; reads the user's input&lt;br /&gt;
	mov ah, 3Fh															;sets the read array&lt;br /&gt;
	mov bx, 0															;mode = read-only&lt;br /&gt;
	mov cx, 80															;max character is 80&lt;br /&gt;
	mov dx, OFFSET input												;saves the input into dx&lt;br /&gt;
	int 21h																;call MS-DOS&lt;br /&gt;
	&lt;br /&gt;
; asks for cypher text file&lt;br /&gt;
	mov ah, 40h															;sets the output array&lt;br /&gt;
	mov cx, LENGTHOF prompt2											;copies LENGTHOF to cx&lt;br /&gt;
	mov dx, OFFSET	 prompt2											;moves OFFSET of the string to dx&lt;br /&gt;
	int 21h																;call MS-DOS&lt;br /&gt;
	&lt;br /&gt;
; reads the user's input			&lt;br /&gt;
	mov ah, 3Fh															;sets the read array&lt;br /&gt;
	mov bx, 0															;mode = read-only&lt;br /&gt;
	mov cx, 80															;max character is 80&lt;br /&gt;
	mov dx, OFFSET input2												;saves the input into dx&lt;br /&gt;
	int 21h																;call MS-DOS&lt;br /&gt;
	&lt;br /&gt;
; asks for the encryption key&lt;br /&gt;
	mov ah, 40h															;sets the output array&lt;br /&gt;
	mov cx, LENGTHOF prompt3											;copies the LENGTHOF to cx&lt;br /&gt;
	mov dx, OFFSET   prompt3											;moves OFFSET of the string to dx&lt;br /&gt;
	int 21h																;call MS-DOS&lt;br /&gt;
	&lt;br /&gt;
; reads the encryption key												&lt;br /&gt;
	mov al, 0															;al is starts at 0&lt;br /&gt;
	call ReadInt														;read signed integers &lt;br /&gt;
	mov input3, al														;copies the input in al to input3&lt;br /&gt;
	&lt;br /&gt;
; output "Plaintext text: "&lt;br /&gt;
	mov ah, 40h															;sets the output array&lt;br /&gt;
	mov cx, LENGTHOF output												;copies the LENGTHOF to cx&lt;br /&gt;
	mov dx, OFFSET	 output												;moves OFFSET of the string to dx&lt;br /&gt;
	int 21h																;call MS-DOS&lt;br /&gt;
	&lt;br /&gt;
; opens the plain text file&lt;br /&gt;
	mov ax, 716Ch														;sets to open a file&lt;br /&gt;
	mov bx, 0															;mode = read-only&lt;br /&gt;
	mov cx, 0															;normal attribute&lt;br /&gt;
	mov dx, 1															;action: open mode&lt;br /&gt;
	mov si, OFFSET input												;Offsets input&lt;br /&gt;
	int 21h																;call MS-DOS&lt;br /&gt;
	jc  quit															;quit if error, when CF = 1&lt;br /&gt;
	mov inHandle, ax													;file handle&lt;br /&gt;
	&lt;br /&gt;
; reads the plain text file		&lt;br /&gt;
	mov ah, 3Fh															;sets the read array&lt;br /&gt;
	mov bx, inHandle													;file handle&lt;br /&gt;
	mov cx, BufferSize													;max bytes to read&lt;br /&gt;
	mov dx, OFFSET Buffer												;buffer pointer&lt;br /&gt;
	int 21h																;call MS-DOS&lt;br /&gt;
	jc  quit															;quit if error, when CF = 1&lt;br /&gt;
	mov bytesRead, ax													;numbers of bytes read&lt;br /&gt;
	&lt;br /&gt;
; outputs the plain text from file							&lt;br /&gt;
	mov ah, 40h															;sets the output array&lt;br /&gt;
	mov bx, 1															;console output handle&lt;br /&gt;
	mov cx, bytesRead													;number of bytes &lt;br /&gt;
	mov dx, OFFSET Buffer												;buffer pointer&lt;br /&gt;
	int 21h																;call MS-DOS&lt;br /&gt;
	jc  quit															;quit if error, when CF = 1&lt;br /&gt;
	&lt;br /&gt;
; converts plain text to cypher&lt;br /&gt;
	mov ecx, BufferSize													;sets the loop&lt;br /&gt;
	mov esi, 0															;starts the pointer at 0&lt;br /&gt;
	&lt;br /&gt;
L1:&lt;br /&gt;
	xor Buffer[esi], input3												;Translate the bytes (line 104)&lt;br /&gt;
	inc esi																;go to next byte&lt;br /&gt;
	loop L1																;repeat the loop&lt;br /&gt;
&lt;br /&gt;
; open cypher text file&lt;br /&gt;
	mov ax, 716Ch														;sets to open a file&lt;br /&gt;
	mov bx, 1															;mode = write-only&lt;br /&gt;
	mov cx, 0															;normal attribute&lt;br /&gt;
	mov dx, 12h															;action: create/truncate&lt;br /&gt;
	mov si, OFFSET input2												;Offsets input2&lt;br /&gt;
	int 21h																;call MS-DOS&lt;br /&gt;
	jc quit																;quit if error, when CF = 1&lt;br /&gt;
	mov outHandle, ax													;save handle&lt;br /&gt;
	&lt;br /&gt;
; write to cypher text file&lt;br /&gt;
	mov ah, 40h															;sets the write array&lt;br /&gt;
	mov bx, outHandle													;output file handle&lt;br /&gt;
	mov cx, bytesRead													;number of bytes&lt;br /&gt;
	mov dx, OFFSET Buffer												;buffer pointer&lt;br /&gt;
	int 21h																;call MS-DOS&lt;br /&gt;
	jc quit																;quit if error, when CF = 1&lt;br /&gt;
	&lt;br /&gt;
; Output "Encryption text: "&lt;br /&gt;
	mov ah, 40h															;sets the write array&lt;br /&gt;
	mov bx, 1															;console output handle&lt;br /&gt;
	mov cx, LENGTHOF output2											;copies LENGTHOF to cx&lt;br /&gt;
	mov dx, OFFSET	 output2											;moves OFFSET of the string to dx&lt;br /&gt;
	int 21h																;call MS-DOS&lt;br /&gt;
	&lt;br /&gt;
; output the cypher text from file&lt;br /&gt;
	mov ah, 40h															;sets the write array&lt;br /&gt;
	mov bx, 1															;console output handle&lt;br /&gt;
	mov cx, bytesRead													;number of bytes &lt;br /&gt;
	mov dx, OFFSET Buffer												;buffer pointer&lt;br /&gt;
	int 21h																;call MS-DOS&lt;br /&gt;
	jc quit																;quit if error, when CF = 1&lt;br /&gt;
	&lt;br /&gt;
; New line&lt;br /&gt;
	mov ah, 40h															;sets the write array&lt;br /&gt;
	mov cx, LENGTHOF newline											;copies LENGTHOF to cx&lt;br /&gt;
	mov dx, OFFSET   newline											;moves OFFSET of the string to dx&lt;br /&gt;
	int 21h																;call MS-DOS&lt;br /&gt;
quit:&lt;br /&gt;
	exit&lt;br /&gt;
&lt;br /&gt;
main ENDP&lt;br /&gt;
&lt;br /&gt;
END main&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The error is line 104: error A2070: invalid instruction operand and to help I indicated where that line is. &lt;br /&gt;</description>
      <pubDate>Sun, 23 Nov 2008 17:18:41 -0700</pubDate>
      <category>Assembler Developer</category>
    </item>
    <item>
      <title>WILL $$$$ PAY FOR HELP WRITEING THIS PROGRAM !!!!!!!!!!! Z80</title>
      <link>http://www.programmersheaven.com/mb/pharabee/382148/382148/will--pay-for-help-writeing-this-program--z80/</link>
      <description>&lt;span style="font-size: medium;"&gt;20 - 50&lt;/span&gt; DOLLARS FOR HELP MY EMAIL ADDRESS IS : NOCMSA@YAHOO.COM CONTACT ME FOR MORE INFORMATION&lt;br /&gt;
1.Write a Z80 program that reads 10 bytes of data from and array&lt;br /&gt;
whose base address starts at 2020H, adds each data byte to 2H and then stores&lt;br /&gt;
the sum at a 10 byte array whose base address is 3020H. Show solution with&lt;br /&gt;
comments for each line &amp;amp; fully explain how it works.&lt;br /&gt;
&lt;br /&gt;
2: Interpret and fully explain the function of the following program.&lt;br /&gt;
Provide a full explanation and comments for each line. Hint: 2040H contains&lt;br /&gt;
the data byte 22H. What is the resulting number, in hex, which is contained in&lt;br /&gt;
the address 2070H after the program when the program halts?&lt;br /&gt;
Memory Address         Z80 Machine Code&lt;br /&gt;
300A                                   21 #&lt;br /&gt;
300B                                   40 #&lt;br /&gt;
300C                                   20 #&lt;br /&gt;
300D                                   01 #&lt;br /&gt;
300E                                    70 #&lt;br /&gt;
300F                                    20 #&lt;br /&gt;
3010                                    7E #&lt;br /&gt;
3011                                    3C #&lt;br /&gt;
3012                                    A6 #&lt;br /&gt;
3013                                    02 #&lt;br /&gt;
3014                                    36 #&lt;br /&gt;
3015                                    00 #&lt;br /&gt;
3016                                    76 #&lt;br /&gt;
&lt;br /&gt;
3: Write a PIC 18 Series Assembly Program, (i.e. just the Main), to&lt;br /&gt;
take in an 8 bit literal number, A, and an 8 bit literal number, B, and to&lt;br /&gt;
obtain C = A x B, and to store C in variables, Shigh, and Slow, respectively,&lt;br /&gt;
Then have the program multiply each of them, i.e. Shigh and Slow by 4, Mod 256,&lt;br /&gt;
without using the multiply function.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4: Interpret and fully explain the following program (next sheet),&lt;br /&gt;
which is written in PIC 18 Assembly language. Provide comments and a general&lt;br /&gt;
explanation of what the program does.&lt;br /&gt;
Solution / Explanation:&lt;br /&gt;
;*************************************************
*****************************&lt;br /&gt;
; This file is a basic template for creating relocatable assembly code for *&lt;br /&gt;
; a PIC18F4520. Copy this file into your project directory and modify or *&lt;br /&gt;
; add to it as needed. Create a project with MPLINK as the language tool *&lt;br /&gt;
; for the hex file. Add this file and the 18F4520.LKR file to the project. *&lt;br /&gt;
; *&lt;br /&gt;
; The PIC18FXXXX architecture allows two interrupt configurations. This *&lt;br /&gt;
; template code is written for priority interrupt levels and the IPEN bit *&lt;br /&gt;
; in the RCON register must be set to enable priority levels. If IPEN is *&lt;br /&gt;
; left in its default zero state, only the interrupt vector at 0x008 will *&lt;br /&gt;
; be used and the WREG_TEMP, BSR_TEMP and STATUS_TEMP variables will not *&lt;br /&gt;
; be needed. *&lt;br /&gt;
; *&lt;br /&gt;
; Refer to the MPASM User's Guide for additional information on the *&lt;br /&gt;
; features of the assembler and linker. *&lt;br /&gt;
; *&lt;br /&gt;
; Refer to the PIC18Fxx20 Data Sheet for additional *&lt;br /&gt;
; information on the architecture and instruction set. *&lt;br /&gt;
; *&lt;br /&gt;
;*************************************************
*****************************&lt;br /&gt;
; *&lt;br /&gt;
; Filename: *&lt;br /&gt;
; Date: *&lt;br /&gt;
; File Version: *&lt;br /&gt;
; *&lt;br /&gt;
; Author: *&lt;br /&gt;
; Company: *&lt;br /&gt;
; *&lt;br /&gt;
;*************************************************
*****************************&lt;br /&gt;
; *&lt;br /&gt;
; Files required: P18F4520.INC *&lt;br /&gt;
; 18F4520.LKR *&lt;br /&gt;
; *&lt;br /&gt;
;*************************************************
*****************************&lt;br /&gt;
LIST P=18F4520, F=INHX32 ;directive to define processor and file format&lt;br /&gt;
#include &amp;lt;P18F4520.INC&amp;gt; ;processor specific variable definitions&lt;br /&gt;
;*************************************************
*****************************&lt;br /&gt;
;Configuration bits&lt;br /&gt;
;Microchip has changed the format for defining the configuration bits, please&lt;br /&gt;
;see the .inc file for futher details on notation. Below are a few examples.&lt;br /&gt;
; Oscillator Selection:&lt;br /&gt;
CONFIG OSC = LP ;LP&lt;br /&gt;
;*************************************************
*****************************&lt;br /&gt;
;Variable definitions&lt;br /&gt;
; These variables are only needed if low priority interrupts are used.&lt;br /&gt;
; More variables may be needed to store other special function registers used&lt;br /&gt;
; in the interrupt routines.&lt;br /&gt;
; Test variables, simple sum&lt;br /&gt;
UDATA&lt;br /&gt;
WREG_TEMP RES 1 ;variable in RAM for context saving&lt;br /&gt;
STATUS_TEMP RES 1 ;variable in RAM for context saving&lt;br /&gt;
BSR_TEMP RES 1 ;variable in RAM for context saving&lt;br /&gt;
MUL RES 1 ;&lt;br /&gt;
SPECIAL RES 1 ;&lt;br /&gt;
INTDIV1 RES 1 ;&lt;br /&gt;
IntDiv RES 1 ;&lt;br /&gt;
UDATA_ACS&lt;br /&gt;
EXAMPLE RES 1 ;example of a variable in access RAM&lt;br /&gt;
;*************************************************
*****************************&lt;br /&gt;
;EEPROM data&lt;br /&gt;
; Data to be programmed into the Data EEPROM is defined here&lt;br /&gt;
DATA_EEPROM CODE 0xf00000&lt;br /&gt;
DE "Test Data",0,1,2,3,4,5&lt;br /&gt;
;*************************************************
*****************************&lt;br /&gt;
;Reset vector&lt;br /&gt;
; This code will start executing when a reset occurs.&lt;br /&gt;
RESET_VECTOR CODE 0x0000&lt;br /&gt;
goto Main ;go to start of main code&lt;br /&gt;
;*************************************************
*****************************&lt;br /&gt;
;High priority interrupt vector&lt;br /&gt;
; This code will start executing when a high priority interrupt occurs or&lt;br /&gt;
; when any interrupt occurs if interrupt priorities are not enabled.&lt;br /&gt;
HI_INT_VECTOR CODE 0x0008&lt;br /&gt;
bra HighInt ;go to high priority interrupt routine&lt;br /&gt;
;*************************************************
*****************************&lt;br /&gt;
;Low priority interrupt vector&lt;br /&gt;
; This code will start executing when a low priority interrupt occurs.&lt;br /&gt;
; This code can be removed if low priority interrupts are not used.&lt;br /&gt;
LOW_INT_VECTOR CODE 0x0018&lt;br /&gt;
bra LowInt ;go to low priority interrupt routine&lt;br /&gt;
;*************************************************
*****************************&lt;br /&gt;
;High priority interrupt routine&lt;br /&gt;
; The high priority interrupt code is placed here.&lt;br /&gt;
CODE&lt;br /&gt;
HighInt:&lt;br /&gt;
; *** high priority interrupt code goes here ***&lt;br /&gt;
retfie FAST&lt;br /&gt;
;*************************************************
*****************************&lt;br /&gt;
;Low priority interrupt routine&lt;br /&gt;
; The low priority interrupt code is placed here.&lt;br /&gt;
; This code can be removed if low priority interrupts are not used.&lt;br /&gt;
LowInt:&lt;br /&gt;
movff STATUS,STATUS_TEMP ;save STATUS register&lt;br /&gt;
movff WREG,WREG_TEMP ;save working register&lt;br /&gt;
movff BSR,BSR_TEMP ;save BSR register&lt;br /&gt;
btfsc PIR1,0 ;&lt;br /&gt;
goto int_timer1 ;&lt;br /&gt;
btfsc INTCON, 1 ;&lt;br /&gt;
goto int_extpin33 ;&lt;br /&gt;
goto int_end ;&lt;br /&gt;
int_timer1 ;&lt;br /&gt;
incf SPECIAL&lt;br /&gt;
movf SPECIAL,W&lt;br /&gt;
addlw 0x30 ;&lt;br /&gt;
movwf TXREG&lt;br /&gt;
movlw Timer1L ;&lt;br /&gt;
movwf TMR1L ;&lt;br /&gt;
movlw Timer1H ;&lt;br /&gt;
movwf TMR1H ;&lt;br /&gt;
bcf PIR1,0 ;&lt;br /&gt;
decfsz INTDIV1 ;&lt;br /&gt;
goto int_end&lt;br /&gt;
int_extpin33&lt;br /&gt;
movwf TXREG&lt;br /&gt;
movlw IntDiv&lt;br /&gt;
movwf INTDIV1 ;&lt;br /&gt;
bcf INTCON, 1&lt;br /&gt;
int_end ;&lt;br /&gt;
movff _w, w&lt;br /&gt;
movff _status, STATUS&lt;br /&gt;
movff _bsr, BSR&lt;br /&gt;
retfie ; return from int&lt;br /&gt;
movff BSR_TEMP,BSR ;restore BSR register&lt;br /&gt;
movff WREG_TEMP,WREG ;restore working register&lt;br /&gt;
movff STATUS_TEMP,STATUS ;restore STATUS register&lt;br /&gt;
retfie&lt;br /&gt;
;*************************************************
*****************************&lt;br /&gt;
;Start of main program&lt;br /&gt;
; The main program code is placed here.&lt;br /&gt;
Main:&lt;br /&gt;
; *** main code goes here ***&lt;br /&gt;
bsf INTCON, 6 ;&lt;br /&gt;
clrf MUL ;&lt;br /&gt;
movlw 0x44 ;&lt;br /&gt;
movwf MUL ;&lt;br /&gt;
movlw 0x44 ;&lt;br /&gt;
mulwf MUL ;&lt;br /&gt;
goto $&lt;br /&gt;
;*************************************************
*****************************&lt;br /&gt;
;End of program&lt;br /&gt;
END&lt;br /&gt;</description>
      <pubDate>Sat, 22 Nov 2008 20:35:31 -0700</pubDate>
      <category>Assembler Developer</category>
    </item>
    <item>
      <title>Opening a file</title>
      <link>http://www.programmersheaven.com/mb/pharabee/381906/381906/opening-a-file/</link>
      <description>Hi! I`m having a problem opening a file in 16 bit assembly. Here`s part of program which prompts user to input filename and using it should open the file but instead it just gives error message. I made a mistake somewhere I think.. &lt;br /&gt;
Thanks in advance for your help! :)&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="sourcecode"&gt;
.model small
.stack 100h
.data

  iveskite db 'Type your filename.$'
  klaid db 'Error reading file.$'
  endln db 13, 10, "$" 
  filename db 20,0,20 dup(?),0
  handle dw ?

.code

  main:  
    mov ax, @data
    mov ds, ax
  
    mov ah, 09h  
    mov dx, offset iveskite
    int 21h
    
    mov ah, 09h
    mov dx, offset endln
    int 21h
    
    mov ah, 0ah ;filename input
    mov dx, offset filename
    int 21h
      
    mov ax, 3d00h
    mov dx, offset filename  ;open file
    int 21h   
    jc klaida
    
    mov handle, ax
    jmp quit
    

  klaida:
  
  mov ah, 09h 
  mov dx, offset endln
  int 21h  

  mov ah, 09h  ;output error message
  mov dx, offset klaid
  int 21h

  quit:
  mov ax,04C00h         ;close program
  int 21h 

end main
&lt;/pre&gt;&lt;br /&gt;</description>
      <pubDate>Sat, 15 Nov 2008 07:32:41 -0700</pubDate>
      <category>Assembler Developer</category>
    </item>
    <item>
      <title>Writing Hex Dump program</title>
      <link>http://www.programmersheaven.com/mb/pharabee/381795/381795/writing-hex-dump-program/</link>
      <description>Hey everybody.&lt;br /&gt;
I got a problem writing hex dump program.&lt;br /&gt;
Maybe someone of you could help me to find appropriate source related to my program?&lt;br /&gt;
I would be very grateful if you could help me!</description>
      <pubDate>Wed, 12 Nov 2008 09:14:20 -0700</pubDate>
      <category>Assembler Developer</category>
    </item>
    <item>
      <title>PIC 16f684 timer0 question</title>
      <link>http://www.programmersheaven.com/mb/pharabee/381668/381668/pic-16f684-timer0-question/</link>
      <description>Hi,&lt;br /&gt;
&lt;br /&gt;
I am a beginner at PIC programming and am trying to get timer0 to work as an event counter on external pin T0CK1.&lt;br /&gt;
&lt;br /&gt;
The basic program structure is:&lt;br /&gt;
&lt;br /&gt;
init:&lt;br /&gt;
  movlw   b'00110000'             ;  Make TMR0 a counter (pull-ups on&lt;br /&gt;
  movwf   OPTION_REG              ; T0CK1 enable, falling edge, no pre-scaler&lt;br /&gt;
&lt;br /&gt;
main_loop:&lt;br /&gt;
&lt;br /&gt;
  movf   TMR0, w&lt;br /&gt;
  movwf   PORTC&lt;br /&gt;
  delay&lt;br /&gt;
  goto main_loop&lt;br /&gt;
&lt;br /&gt;
I have a switch connected to T0CK1 that pulls the pin low when pressed and LEDS connected to PORTC to see TMR0 value. I would expect to see the LEDS increment with each button press, but instead I have to press 256 times to see TMR0 increment. Is this how timer0 is supposed to behave as an event counter on an external pin? I have tried different pre-scaler values and nothing has any effect. I am obviously missing something, can someone help me out, &lt;br /&gt;
&lt;br /&gt;
regards&lt;br /&gt;
&lt;br /&gt;
Dave&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</description>
      <pubDate>Sun, 09 Nov 2008 12:37:55 -0700</pubDate>
      <category>Assembler Developer</category>
    </item>
    <item>
      <title>Logic gates</title>
      <link>http://www.programmersheaven.com/mb/pharabee/381546/381546/logic-gates/</link>
      <description>Hello, how can I use logic gates in assembly? for example, apply an AND in a byte that I have defined. For example, if I have the following variable:&lt;br /&gt;
&lt;br /&gt;
variable db ?&lt;br /&gt;
&lt;br /&gt;
This is a 8 bit element, supposing that it have the following content:&lt;br /&gt;
&lt;br /&gt;
11001111&lt;br /&gt;
&lt;br /&gt;
What I want to do is a apply the AND gate to that bit chain, in this way:&lt;br /&gt;
&lt;br /&gt;
11001111//content of my variable&lt;br /&gt;
00000001//I want to apply AND with this bit chain&lt;br /&gt;
&lt;br /&gt;
How can I code that in assembly?&lt;br /&gt;
&lt;br /&gt;
Best regards&lt;br /&gt;</description>
      <pubDate>Tue, 04 Nov 2008 11:05:47 -0700</pubDate>
      <category>Assembler Developer</category>
    </item>
    <item>
      <title>deleted</title>
      <link>http://www.programmersheaven.com/mb/pharabee/381531/381531/deleted/</link>
      <description>deleted....asdfghjggk</description>
      <pubDate>Mon, 03 Nov 2008 20:53:41 -0700</pubDate>
      <category>Assembler Developer</category>
    </item>
    <item>
      <title>MIPS integer implementation of floating point addition</title>
      <link>http://www.programmersheaven.com/mb/pharabee/381439/381439/mips-integer-implementation-of-floating-point-addition/</link>
      <description>So I'm trying to write a program in MIPS assembly code to help me better understand how floating point addition works. I understand how a floating point number is broken up into a 1 bit sign, 8 bit exponent, and 23 bit fraction. I've written a program that gets two inputs from a user, and adds them WITHOUT using any floating point instructions except mtc1 and mfc1 (for input and output). My code has bugs because when I add 1 + 2 I get 2.74804688. I'm still trying to debug the code but can't seem to grasp the problem. If anyone can help, I would greatly appreciate it. &lt;br /&gt;
&lt;br /&gt;
THIS IS MY CODE (excluding the user input...the first floating point value is in $s0, and the second in $s1)&lt;br /&gt;
&lt;br /&gt;
#Integer implementation of floating-point addition&lt;br /&gt;
		#Initialize variables&lt;br /&gt;
		add 	$s0,$t0,$zero	  #first integer value&lt;br /&gt;
		add	$s1,$t1,$zero	  #second integer value&lt;br /&gt;
		add	$s2,$zero,$zero   #initialize sum variable to 0&lt;br /&gt;
		add	$t3,$zero,$zero	  #initialize SUM OF SIGNIFICANDS value to 0&lt;br /&gt;
	&lt;br /&gt;
		#get EXPONENT from values&lt;br /&gt;
		sll	$s5,$s0,1	  #getting the exponent value	&lt;br /&gt;
		srl	$s5,$s5,24	  #$s5 = first value EXPONENT&lt;br /&gt;
					&lt;br /&gt;
		sll	$s6,$s1,1	  #getting the exponent value&lt;br /&gt;
		srl	$s6,$s6,24	  #$s6 = second value EXPONENT&lt;br /&gt;
		&lt;br /&gt;
		#get SIGN from values&lt;br /&gt;
		srl 	$s3,$s0,31	  #$s3 = first value SIGN&lt;br /&gt;
		srl	$s4,$s1,31	  #$s4 = second value SIGN&lt;br /&gt;
		&lt;br /&gt;
		#get FRACTION from values&lt;br /&gt;
		sll	$s7,$s0,9	&lt;br /&gt;
		srl	$s7,$s0,9	  #$s7 = first value FRACTION&lt;br /&gt;
		sll	$t8,$s1,9&lt;br /&gt;
		srl	$t8,$s1,9	  #$t8 = second value FRACTION&lt;br /&gt;
		&lt;br /&gt;
		#compare the exponents of the two numbers&lt;br /&gt;
compareExp:	######################	&lt;br /&gt;
&lt;br /&gt;
		beq	$s5,$s6, addSig	&lt;br /&gt;
		blt	$s5,$s6, shift1	  #if first &amp;lt; second, go to shift1&lt;br /&gt;
		blt	$s6,$s5, shift2	  #if second &amp;lt; first, go to shift2&lt;br /&gt;
		j	compareExp	&lt;br /&gt;
			&lt;br /&gt;
shift1:		#shift the smaller number to the right&lt;br /&gt;
		srl	$s7,$s7,1	#shift to the right 1&lt;br /&gt;
		addi	$s5,$s5,1	&lt;br /&gt;
		j  	compareExp&lt;br /&gt;
		&lt;br /&gt;
shift2:		#shift the smaller number to the right&lt;br /&gt;
		#srl	$s0,$s0,1	#shift to the right 1&lt;br /&gt;
		#j	compareExp&lt;br /&gt;
		srl	$t8,$t8,1	#shift to the right 1&lt;br /&gt;
		addi	$s6,$s6,1&lt;br /&gt;
		j	compareExp&lt;br /&gt;
	&lt;br /&gt;
addSig:		&lt;br /&gt;
&lt;br /&gt;
		add	$t3,$s7,$t8	  #Add the SIGNIFICANDS	&lt;br /&gt;
		&lt;br /&gt;
		li	$v0, 4&lt;br /&gt;
		la	$a0, sum&lt;br /&gt;
		syscall&lt;br /&gt;
		&lt;br /&gt;
		li	$v0, 1&lt;br /&gt;
		move	$a0, $t3&lt;br /&gt;
		syscall&lt;br /&gt;
		&lt;br /&gt;
		j	result&lt;br /&gt;
	&lt;br /&gt;
result:   &lt;br /&gt;
		li	$v0, 4&lt;br /&gt;
		la	$a0, newline&lt;br /&gt;
		syscall&lt;br /&gt;
		&lt;br /&gt;
		sll	$t4,$s3,31	#SIGN&lt;br /&gt;
					#FRACTION&lt;br /&gt;
		sll	$t5,$s6,23	#EXPONENT&lt;br /&gt;
		add	$t6,$t4,$t5&lt;br /&gt;
		add	$t6,$t6,$t3&lt;br /&gt;
		&lt;br /&gt;
		li	$v0, 4&lt;br /&gt;
		la	$a0, sum2&lt;br /&gt;
		syscall&lt;br /&gt;
		&lt;br /&gt;
		li	$v0, 1&lt;br /&gt;
		move	$a0, $t6&lt;br /&gt;
		syscall&lt;br /&gt;
&lt;br /&gt;
		li	$v0, 4&lt;br /&gt;
		la	$a0, newline&lt;br /&gt;
		syscall&lt;br /&gt;
		&lt;br /&gt;
		li	$v0, 4&lt;br /&gt;
		la	$a0, sum2&lt;br /&gt;
		syscall&lt;br /&gt;
		&lt;br /&gt;
		li	$v0,2&lt;br /&gt;
		mtc1	$t6,$f12&lt;br /&gt;
		syscall&lt;br /&gt;
		jr	$31&lt;br /&gt;
# END OF PROGRAM&lt;br /&gt;</description>
      <pubDate>Thu, 30 Oct 2008 23:38:24 -0700</pubDate>
      <category>Assembler Developer</category>
    </item>
    <item>
      <title>How to burn a code into a microprocessor</title>
      <link>http://www.programmersheaven.com/mb/pharabee/381361/381361/how-to-burn-a-code-into-a-microprocessor/</link>
      <description>I joined college this year and i also joined robotics club thinking that they will teach how to programme in asm .They are using a compiler called bascom for programming atmega16 microprocessor in basic.But i want to programme a robot in asm or c.So what compiler should i use and how do i burn the  programme in microprocessor.I heard of programmer .What is it.Is it a cable used to transfer the programme in the microprocessor&lt;br /&gt;
After writing a programme in a baascom the demonstrater clicked a option called burn inm the bascom compiler.The PCB board was connected to a microprocessor with a cable which went behind the CPU where the printer goes .Is that cable called a programmer.But if i amake a programme for a line follwer in my dev c++ compiler how do i transfer it to the microprocessor because in Dev c++ we dont have a burn option. &lt;br /&gt;</description>
      <pubDate>Sun, 26 Oct 2008 08:49:39 -0700</pubDate>
      <category>Assembler Developer</category>
    </item>
    <item>
      <title>ASCII capturing</title>
      <link>http://www.programmersheaven.com/mb/pharabee/378502/378502/ascii-capturing/</link>
      <description>I have an ASCII string coming in on COM1 of my computer.  I need to isolate 3 numbers out of that string.  The string will change but the values i need will always be in the same place within the string.  Anybody have any ideas how i can isolate certain values out of an ASCII string and place them into memory somewhere?  &lt;br /&gt;
Any help would be great.&lt;br /&gt;
Thanks&lt;br /&gt;</description>
      <pubDate>Thu, 09 Oct 2008 10:28:15 -0700</pubDate>
      <category>Assembler Developer</category>
    </item>
    <item>
      <title>MIPS...checking least significant bit.</title>
      <link>http://www.programmersheaven.com/mb/pharabee/378498/378498/mipschecking-least-significant-bit/</link>
      <description>I'm working on an assignment and have reached a road block. If I have a 16 bit integer like: &lt;br /&gt;
&lt;br /&gt;
0000 0000 0000 0100&lt;br /&gt;
&lt;br /&gt;
how would I check to see what the value in the LEAST significant bit is? Basically, how would I check to see if the least significant bit is 0 or 1? How would I code it? I am a beginner at MIPS...is there a simple instruction that detects this? Please help.&lt;br /&gt;</description>
      <pubDate>Thu, 09 Oct 2008 08:03:17 -0700</pubDate>
      <category>Assembler Developer</category>
    </item>
    <item>
      <title>MIPS assembly code multiplier/divider.</title>
      <link>http://www.programmersheaven.com/mb/pharabee/378334/378334/mips-assembly-code-multiplierdivider/</link>
      <description>I have to write an unsigned 16-bit software implementation of a multiplier and a divider in MIPS assembly code. Two positive integers are read from the console. The program is supposed to multiply and divide the two integers, outputting the product, quotient and remainder. &lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Here is an example run:&lt;/strong&gt;&lt;br /&gt;
Enter an integer: 10&lt;br /&gt;
Enter an integer: 4&lt;br /&gt;
Product is 40&lt;br /&gt;
Quotient is 2&lt;br /&gt;
Remainder is 2&lt;br /&gt;
&lt;br /&gt;
I can't use any MIPS multiply/divide instructions either.&lt;br /&gt;
CAN SOMEONE PLEASE HELP ME WITH THIS? I'M STILL A BEGINNER WITH MIPS ASSEMBLY LANGUAGE AND WOULD APPRECIATE ANY HELP. I know the process involves shifts, but I really need help with this project...please help. &lt;br /&gt;</description>
      <pubDate>Wed, 08 Oct 2008 08:26:47 -0700</pubDate>
      <category>Assembler Developer</category>
    </item>
    <item>
      <title>help in 68k assmbly language</title>
      <link>http://www.programmersheaven.com/mb/pharabee/378151/378151/help-in-68k-assmbly-language/</link>
      <description>Hello everyone,&lt;br /&gt;
&lt;br /&gt;
i am taking a class about assembly language where we have to use easy68k assembler to write assembly programs,&lt;br /&gt;
&lt;br /&gt;
the teacher sucks and expect us to do everything without explaining anything.&lt;br /&gt;
&lt;br /&gt;
if it is possible i am seeking someones help in my first program.&lt;br /&gt;
&lt;br /&gt;
which is :&lt;br /&gt;
&lt;br /&gt;
 write a program that will allow a user to enter an arbitrary number of unsigned integers. Zero is to be used as a sentinel value for the end of input (when the user enters zero, it means they are done entering input). Your program will compute the sum of these numbers. All operations are to be done using 16 bits. An error message will be printed to the screen if an overflow occurs, otherwise the sum will be printed.&lt;br /&gt;
Exercises:&lt;br /&gt;
&lt;br /&gt;
    * Begin your data area at location $3100.&lt;br /&gt;
          o Reserve space for 15 words, label it INPUT.&lt;br /&gt;
          o Define a string that you will use to prompt the user for input, such as&lt;br /&gt;
&lt;br /&gt;
                "Enter values, zero when done:"&lt;br /&gt;
&lt;br /&gt;
          o Define a string that you will use if the user has entered 15 numbers, such as&lt;br /&gt;
&lt;br /&gt;
              "That is all the input allowed. Calculating sum..."&lt;br /&gt;
&lt;br /&gt;
          o Define a string that you will use if you need to print an error message, such as&lt;br /&gt;
&lt;br /&gt;
                "The values you entered caused an overflow condition."&lt;br /&gt;
&lt;br /&gt;
          o Define a string that you will use to ask the user if they want to repeat, such as&lt;br /&gt;
&lt;br /&gt;
                "Do you want to repeat? [0=No, 1=Yes]."&lt;br /&gt;
&lt;br /&gt;
    * Begin your main routine at location $4000:&lt;br /&gt;
          o Prompt the user to enter input.&lt;br /&gt;
          o Loop, reading input using TRAP #15, until the user enters zero.&lt;br /&gt;
          o As each value is entered, store it sequentially in memory beginning at the location labeled INPUT.&lt;br /&gt;
          o You only have space for 15 numbers, so if the user enters 15 values print the message above and proceed with the next step.&lt;br /&gt;
          o Load D0 with the count (the number of values input).&lt;br /&gt;
          o Load A0 with the address given by INPUT.&lt;br /&gt;
          o Call the subroutine, SUM, to compute the sum.&lt;br /&gt;
          o On return, if D0 contains 0, print the sum contained in D1.&lt;br /&gt;
          o Else if D0 contains 1, print the error message.&lt;br /&gt;
          o Ask the user if they would like to compute another sum, if so repeat the steps listed above.&lt;br /&gt;
          o If not, then return control to the simulator using TRAP #15.&lt;br /&gt;
&lt;br /&gt;
    * Begin your subroutine at location $4500, label it SUM:&lt;br /&gt;
          o Expects the count in D0 and the starting address of the input in A0.&lt;br /&gt;
          o Loop count times, adding each input value to a sum in D1.&lt;br /&gt;
          o Use indirect addressing to obtain the input values.&lt;br /&gt;
          o Test for overflow (unsigned).&lt;br /&gt;
          o Return the value 1 in D0 if an overflow condition occurred.&lt;br /&gt;
          o Otherwise, return a 0 in D0, and the sum in D1.&lt;br /&gt;
&lt;br /&gt;
    * Be sure to document your program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
thanks for anyone's help.........&lt;br /&gt;
&lt;br /&gt;</description>
      <pubDate>Mon, 06 Oct 2008 15:03:45 -0700</pubDate>
      <category>Assembler Developer</category>
    </item>
    <item>
      <title>REVERSING A STRING...</title>
      <link>http://www.programmersheaven.com/mb/pharabee/377764/377764/reversing-a-string/</link>
      <description>I'm new in assembly language. I have to come up with a complete TASM code for this problem:&lt;br /&gt;
&lt;br /&gt;
Code a program for the following requirements. Define NAME1 with the string "SalesClerk" and NAME2 with 15 blanks. Use LODSB to access each character in NAME1 from left to right. Then use STOSB to store each accessed character into NAME2 from right to left so that NAME2 contains the string in reverse sequence. You have to clear and set the Direction Flag for this procedure. Assemble and Test.&lt;br /&gt;
&lt;br /&gt;
Please Help me... Thank You. This is urgent.&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;span style="color: Blue;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
this is the code that I tried, but it doesn't reverse a string. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.model small&lt;br /&gt;
.code&lt;br /&gt;
org 100h&lt;br /&gt;
&lt;br /&gt;
start:&lt;br /&gt;
&lt;br /&gt;
first proc near&lt;br /&gt;
&lt;br /&gt;
	lea si, a1&lt;br /&gt;
	mov cx, 15&lt;br /&gt;
	mov ah, 0Eh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
a:&lt;br /&gt;
&lt;br /&gt;
	LODSB&lt;br /&gt;
	int 10h&lt;br /&gt;
	loop a&lt;br /&gt;
&lt;br /&gt;
	ret&lt;br /&gt;
&lt;br /&gt;
	a1 db,'SalesClerk$'&lt;br /&gt;
&lt;br /&gt;
first endp&lt;br /&gt;
&lt;br /&gt;
second proc near&lt;br /&gt;
&lt;br /&gt;
	lea di, a2&lt;br /&gt;
	mov al, 12h&lt;br /&gt;
	mov cx, 15&lt;br /&gt;
&lt;br /&gt;
	rep STOSB&lt;br /&gt;
&lt;br /&gt;
	ret&lt;br /&gt;
&lt;br /&gt;
	a2 db, 15 dup(0)&lt;br /&gt;
&lt;br /&gt;
second endp&lt;br /&gt;
&lt;br /&gt;
end start</description>
      <pubDate>Sun, 05 Oct 2008 12:28:15 -0700</pubDate>
      <category>Assembler Developer</category>
    </item>
    <item>
      <title>Numbers in registers assembly</title>
      <link>http://www.programmersheaven.com/mb/pharabee/377758/377758/numbers-in-registers-assembly/</link>
      <description>Hello, I have a problem, if I do the following, it works fine for what I need to do:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="sourcecode"&gt;
mov bx,0
mov vector[bx],1
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
But if I want to put a variable instead the number 1, like this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="sourcecode"&gt;
mov bx,0
mov ah, offset variable
mov vector[bx],ah
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
It doesn't works as I want. Someone know how to resolve this?&lt;br /&gt;
&lt;br /&gt;
Best regards&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</description>
      <pubDate>Sun, 05 Oct 2008 08:41:29 -0700</pubDate>
      <category>Assembler Developer</category>
    </item>
    <item>
      <title>Delay or system pause</title>
      <link>http://www.programmersheaven.com/mb/pharabee/376392/376392/delay-or-system-pause/</link>
      <description>Hello, there is some way to do a system pause in assembly? or make a delay?&lt;br /&gt;
&lt;br /&gt;
It could be with interruptions?&lt;br /&gt;
&lt;br /&gt;
Best regards,&lt;br /&gt;</description>
      <pubDate>Mon, 29 Sep 2008 13:58:06 -0700</pubDate>
      <category>Assembler Developer</category>
    </item>
    <item>
      <title>Writing in different pages of video memory</title>
      <link>http://www.programmersheaven.com/mb/pharabee/376158/376158/writing-in-different-pages-of-video-memory/</link>
      <description>Hello, I want to write some numbers in a video memory page, and some other numbers in another video memory page. How can I do that? can someone put a little example? I have been researching on how to do this, but I dont understand the provided examples.&lt;br /&gt;
&lt;br /&gt;
Best regards.&lt;br /&gt;</description>
      <pubDate>Sat, 27 Sep 2008 18:58:15 -0700</pubDate>
      <category>Assembler Developer</category>
    </item>
    <item>
      <title>Incrementing CX with a variable</title>
      <link>http://www.programmersheaven.com/mb/pharabee/376029/376029/incrementing-cx-with-a-variable/</link>
      <description>Hello.&lt;br /&gt;
&lt;br /&gt;
I have a counter variable, I declared it as follow:&lt;br /&gt;
&lt;br /&gt;
counter db 1&lt;br /&gt;
&lt;br /&gt;
I initialized that variable in cero:&lt;br /&gt;
&lt;br /&gt;
mov counter,0&lt;br /&gt;
&lt;br /&gt;
What I need is to increment that counter, I have this code:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="sourcecode"&gt;
call incrementCounter
mov cx, counter
mov bx,0
paint:
inc bx
loop pintar
mov colors[bx], 11110000b
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
The method incrementCounter increment the counter variable, it perform an "inc counter" instruction.&lt;br /&gt;
&lt;br /&gt;
After calling the method, the BX register value have not increased, and I need to increase this value. Somebody know how?&lt;br /&gt;
&lt;br /&gt;
Best regards.&lt;br /&gt;</description>
      <pubDate>Thu, 25 Sep 2008 13:48:08 -0700</pubDate>
      <category>Assembler Developer</category>
    </item>
    <item>
      <title>8051 CHIP</title>
      <link>http://www.programmersheaven.com/mb/pharabee/375942/375942/8051-chip/</link>
      <description>hELLO EVERYONE. I AM NEW TO THIS AS I HAVE A MAJOR ISSUE. I AM USING SOFTWARE CALLED PINNACLE TO PROGRAM AN 8051 CHIP TO COUNT UPWARDS. I HAVE 3 7 SEG DISPLAYS SO I NEED ASSISTANCE TO HELP COUNT UP TO 99.9 SECONDS. NEW TO CODE SO ANY HELP APPRECIATED.&lt;br /&gt;
&lt;br /&gt;
DERMOT&lt;br /&gt;</description>
      <pubDate>Wed, 24 Sep 2008 05:59:34 -0700</pubDate>
      <category>Assembler Developer</category>
    </item>
    <item>
      <title>Developing a cd-rom driver in assembly</title>
      <link>http://www.programmersheaven.com/mb/pharabee/375712/375712/developing-a-cd-rom-driver-in-assembly/</link>
      <description>Hello to everybody.&lt;br /&gt;
I am trying to build a cd-rom driver (like the mscdex)in assembly. I would like to know how a cpu addresses a cd-rom (specifically amd athlon 64 X2) and where i can fin d more information about this matter. Does anyone know?&lt;br /&gt;
&lt;br /&gt;
I found a driver at sourceforge.net named ODD_DOS_DRIVER but i cannot produse an .exe file from the given source code.I use the nasm assembler.&lt;br /&gt;
I have looked in &lt;a href="http://www.nasm.us"&gt;http://www.nasm.us&lt;/a&gt; but it says the code should have some specific lines in addition (e.g. ..start:). Can anyone help me to produce the .exe file?&lt;br /&gt;
&lt;br /&gt;
(i have installed MSDOS 6.0 in a VMWare virtual machine.)&lt;br /&gt;
&lt;br /&gt;
Thank you.</description>
      <pubDate>Sun, 21 Sep 2008 05:46:00 -0700</pubDate>
      <category>Assembler Developer</category>
    </item>
    <item>
      <title>Need your help about LISP</title>
      <link>http://www.programmersheaven.com/mb/pharabee/375660/375660/need-your-help-about-lisp/</link>
      <description>&lt;span style="color: Red;"&gt;Oh God. I need to Learn much in LISP. I really had a hard time reading online tutorials and it doesnt really help. I have no idea at all on how the syntax and codes works. God! I have to master it in a very short period of time.&lt;br /&gt;
&lt;br /&gt;
Can anyone help me?&lt;br /&gt;
Just only the basic in executing the project.&lt;br /&gt;
I use Allegro Common LISP Software.&lt;/span&gt;&lt;br /&gt;</description>
      <pubDate>Fri, 19 Sep 2008 19:58:01 -0700</pubDate>
      <category>Assembler Developer</category>
    </item>
  </channel>
</rss>